[FoLUG]gcc e kernel-headers
Massimo Piccioni
folug@lists.linux.it
Thu, 18 Jul 2002 19:58:29 +0200
>
>
>Ma linkare non significa collegare una parte di eseguibile ad un'altra?
>"diventano parte del tuo eseguibile" non mi sembra in questo caso corretta,
>perchč mi pare che pił programmi che usano le stesse funzioni di libreria non
>carichino 2 volte in memoria lo stesso codice.
>
>
dipende se usi link dinamico (librerie dinamiche, shared, ecc. quelle
con estensione .so .sl e cosi' via) o il link statico (librerie
statiche, estensione .a).
nel primo caso tu generi l'eseguibile "spoglio", con solo i riferimenti
alla libreria, che in realta' viene caricata dal sistema automaticamente
quando lanci l'eseguibile ed il link finale viene eseguito a tempo di
esecuzione; se per di piu' la libreria e' "shared" il sistema la carica
una volta sola per tutti gli applicativi che la usano.
nel secondo caso, invece, le librerie entrano effettivamente nel binario
(file piu' grosso), quindi risultano "replicate" all'interno di ogni
eseguibile che le usa (maggiori esigenze di memoria)
per motivi evidenti il primo caso e' preferito
l'espressione "diventano parte ..." serviva solo a far capire la
differenza fra link e inclusione
ciao
Massimo