Sono davvero due termini per la stessa cosa.
Nel mondo Unix, il termine linker dinamico viene utilizzato per indicare il componente del sistema operativo che collega le librerie dinamiche in fase di esecuzione, mentre un caricatore sulla maggior parte degli altri sistemi esegue sia il caricamento che il collegamento di librerie dinamiche.
Poiché il caricamento di librerie in sistemi Unix è eseguito da un componente separato (ld.so
più spesso), un linker dinamico viene considerato diverso dal programma di caricamento. I compilatori di solito inseriscono alcuni codici stub all'inizio del file eseguibile per caricare ld.so
e ld.so
continueranno a caricare il resto delle librerie dipendenti prima che venga invocato il numero main
. Mentre il caricamento del programma viene eseguito in kernelspace, il collegamento delle librerie dinamiche avviene di solito in userspace.
Questo è diverso da Windows, in cui entrambi i programmi caricano e collegano le librerie dinamiche in modalità kernel.
fonte
2012-04-03 08:01:32
http://stackoverflow.com/questions/311882/what-do-static-linked-and-dynamically-linked-mean/311889#311889 – Vijay
@peter grazie! ha aiutato. –