ayuda gcc

Horst von Brand vonbrand en inf.utfsm.cl
Vie Oct 8 09:26:08 CLT 2004


"Roberto Leiva M" <rlm en floresinternacional.cl> dijo:
> > que version de gcc usas?
> > (aqui uso gcc-3.3)

[...]

> gcc 3.2.2 y creo que al compilar solo un archivo genera el .o pero cuando se 
> enlazan varios no lo crea.

Al compilar y enlazar, gcc's actuales:

- Preprocesan y generan assembler en una pasada (no hay preprocesador
  aparte)
- Ensamblan el resultado .s, generando el .o correspondiente
- Enlazan lo que resulta (sazonando con bibliotecas ad hoc)
- Borran archivos temporales resultantes (que normalmente quedan en /tmp)

O sea, si los crea. Pero con nombres temporales, luego los borra.


Volviendo al tema original: Estas tratando de hacer algo extremadamente
curioso. No piedes simplemente tomar una coleccion de *.o al azar y
enlazarlos con otras cosas. Si quieres reusar parte del codigo, sera
probablemente una biblioteca propia del paquete; en su defecto, igual
tendras que entrar a picar para ajustar la construccion de tu paquete
derivado del original. El trabajo de ajustar la(s) Makefile de acorde es
mucho menos que el de hacer las modificaciones. Mucho mas tendras que picar
para transformar .c que dan directamente un ejecutable en algo utilizable
en otro ambito.

Si las Makefile del proyecto del que partes genera ejecutables directamente
de los .c, me alejaria: Quien hizo eso no tiene ningun atisbo de buen gusto
al desarrollar, y lo que encontraras en los fuentes sera serguramente mucho
peor. Trabajar sobre eso debe ser tan doloroso que sale mas facil partir de
cero (o alguna cosa mas razonable).
-- 
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