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?
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. ; -)
LD_LIBRARY_PATH - steht für LOAD LIBRARY PATH oder manchmal als LOADER LIBRARY PATH