ld
Vernia Damiano
melkor.x a tiscali.it
Dom 18 Maggio 2003 08:01:22 UTC
Ciao, scusate la domanda da ignorantonto, ma non mi sarei
aspettato questa cosa:
[melkor a Engineering dati]$ ld -shared -o prova *.o
[melkor a Engineering dati]$ ldd prova
statically linked
==================================
[melkor a Engineering dati]$ ld -shared -lc -o prova *.o
[melkor a Engineering dati]$ ldd prova
libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
Nei sorgenti come funzioni di libreria ho usato solo malloc,
calloc, free, fread e fwrite; ovviamente non c'e' una funzione main.
Domanda: perche' serve quel -lc? Una volta non era "automatico"?
Ho provato anche a scrivere un "pippo.c" (
int main()
{
return 0;
}
) compilarlo e linkarlo cosi:
[melkor a Engineering dati]$ ld -o prova *.o
Mi da una vagonata di "unresolved symbol". Niente di male, basta
che ci aggiunga -lc e mi _resta_ solo
ld: warning: cannot find entry symbol _start; defaulting to 08048260
Si e' rinstupidito lui o manca davvero qualcosa? Qualche strana
libreria che manco mi sogno?
Grazie.
--
Ciriciao
LtC. Melkor?! B. Xapatan
PS: Compilo con "gcc -Wall -c file.c".
Maggiori informazioni sulla lista
Lug
|