linux user group brescia

immagine del castello

Archivio della mailing list

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