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