Compilacion estatica de un programa en C
"Juan Carlos Muñoz"
jcmunoz en dcc.uchile.cl
Vie Nov 5 22:24:18 CLST 2004
Carlos Manuel Duclos Vergara wrote:
>[...]
>
>[...]
>
>primero necesitas una biblioteca estatica de lo que requieres,
>generalmente estan "indexadas" para encontrar rapidamente el codigo. Por
>lo general esas bibliotecas tienen la extension .a en Linux. Las
>bibliotecas dinamicas por lo general tienen la extension .so y el
>localizador (en el caso GNU ld cumple los dos roles) debe saber como
>encontrarlas (para eso estan /etc/ld.so.conf y LD_LIBRARY_PATH).
>El linkeado en ambos casos se produce de la misma manera, salvo que en el
>segundo caso requeriras que la biblioteca se encuentre al momento de
>ejecutar el codigo (ojo que diferentes versiones de bibliotecas pueden
>variar sus entry points, lo que puede generar varios problemas desde que
>te reclame porque no encuentra simbolos hasta comportamiento erratico).
>
>El comando en ambos casos es:
>gcc <archivos .o> <bibliotecas> -o resultado
>
>
>
si no me equivoco en casi todas las distribuciones estan los paquetes
devel, usualmente en esos vienen las "bibliotecas" indexadas para el
enganche.
y si no me equivoco tambien, para hacer eso mas facil compilas con el
flag -static y para dejarlo un poco mas chiko haces un strip del codigo
con -s
-s Remove all symbol table and relocation information from the exe-
cutable.
-static
On systems that support dynamic linking, this prevents
linking with
the shared libraries. On other systems, this option has no
effect.
>esperando que toda esta chachara le sirva a alguien, me despido
>
>Xhau
>
>
>
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre : jcmunoz.vcf
Tipo : text/x-vcard
Tamaño : 314 bytes
Descripción: no disponible
Url : https://listas.inf.utfsm.cl/pipermail/linux/attachments/20041105/7bcbdfcb/jcmunoz.vcf
Más información sobre la lista de distribución Linux