ayuda gcc
Horst von Brand
vonbrand en inf.utfsm.cl
Vie Oct 8 10:18:58 CLT 2004
"Roberto Leiva M" <rlm en floresinternacional.cl> dijo:
> Aca falta alguien...
> > El Thu, Oct 07, 2004 at 05:25:17PM -0700, Roberto Leiva M escribio:
> >> el problema es que no es un unico archivo ( lo que coloque es solo un
> >> ejemplo ),
> >> la aplicacion real tiene muchas librerias y/o archivos .o
> > Bueno, mal ejemplo entonces, no corresponde a lo que quieres!
> >> gcc correo.c -g -o correo -I$HB_INC_INSTALL -L$HB_LIB_INSTALL coordina.o
> >> $lib/cconv.o $menu/menu_acc.o $lib/ext.o $menu/rut_gral.o $menu/menu_tab.o
> >> $menu/menu_rut.o $menu/menu_rep.o $menu/menu_gen.o $MEDDIR/noautlog.o
> >> $MEDDIR/medntx.a
> >> $MEDDIR/cmnnet32.a /// etc etc ...
> >>
> >> esta aplicacion la necesito como una app primaria ( se ejecuta por si
> >> misma), y ademas necesito enlazarla a otras aplicaciones ( como modulo ),
> >> por eso necesito el .o
Hay muchos .o aca
> > Un archivo ".o" (object file, supongo que puede traducirse como
> > un archivo `objeto'), corresponde a una sola unidad de compilación
> > (en tu caso, el resultado de compilar un solo ".c"). No puedes
> > juntar varios.
Si se puede. ld(1)
> > Por eso tu error:
En parte.
> >> si trato de crear 1ero el .o me reclama diciendo que no es posible con
> >> multiples archivos.
> > Parece que lo que quieres entonces no es generar un ".o", sino una
> > biblioteca estática, que no es más que un conjunto de archivos ".o"
> > pegados,
No estan pegados, realmente. Es una coleccion de .o (+ indice), del cual al
enlazar el linker (ld(1)) extrae solo los .o que necesita para resolver las
referencias.
> > formando un archivo cuya extención en UNIX suele ser ".a".
> > Mira el comando "ar".
> este comando, al crear la libreria tb realiza los enlaces que poseen los
> archivos entre si?
No.
> por ejemplo si yo llamo una funcion y esta funcion realiza una llamada a
> otro procedimiento ( que esta en otro archivo guardado en la lib ) ,
> ocurre algun error ?
No, al enlazar se resuelven las referencias.
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria +56 32 654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513
Más información sobre la lista de distribución Linux