Wofür steht LD für die Variable LD_LIBRARY_PATH auf * unix?

8

Ich weiß, dass LD_LIBRARY_PATH eine Umgebungsvariable ist, in der der Linker nach der gemeinsam genutzten Bibliothek sucht (die gemeinsame Objekte enthält), um sie mit dem ausführbaren Code zu verknüpfen.

Aber wofür steht der LD, ist es für Load? oder Verzeichnis auflisten?

    
Marcos Roriz Junior 29.11.2009, 02:33
quelle

2 Antworten

9

Linker. Der * nix Linker heißt ld. Wenn ein Programm mit dynamischen Bibliotheken verknüpft ist, fügt der Linker zusätzlichen Code hinzu, um nach dynamischen Bibliotheken zum Auflösen von nicht statisch verknüpften Symbolen zu suchen. Normalerweise sucht dieser Code in / lib und / usr / lib. LD_LIBRARY_PATH ist eine durch Doppelpunkte getrennte Liste anderer zu durchsuchender Verzeichnisse.

"ldd" ist ein praktisches Programm, um zu sehen, wo sich die Bibliotheken befinden: versuchen Sie zum Beispiel "ldd / bin / ls".

Es könnte aber auch "Loader" bedeuten. ; -)

Redaktion:

Als (semi-) interessante Randnotiz: Ich denke, dynamische Bibliotheken werden eines Tages verschwinden. Sie wurden benötigt, wenn Speicherplatz und Systemspeicher knapp waren. Es gibt einen Leistungseinbruch bei der Verwendung derselben (d. H. Die Symbole müssen aufgelöst und der Objektcode bearbeitet werden). In diesen modernen Zeiten von 3 GB Arbeitsspeicher und 7 Sekunden Boot-Zeiten, könnte es angebracht sein, zu statischen Verknüpfungen zurückzukehren.

Abgesehen von der Tatsache, dass jedes C ++ Programm magisch auf 3MB anwachsen würde. ; -)

    
Richard Pennington 29.11.2009, 02:39
quelle
2

LD_LIBRARY_PATH - steht für LOAD LIBRARY PATH oder manchmal als LOADER LIBRARY PATH

    
Venkataramesh Kommoju 13.12.2009 08:30
quelle

Tags und Links