Shared Libraries (Linux-Grundlagen)
Version vom 30. Januar 2026, 07:47 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Was ist eine Shared Library? == *Eine Shared Library ist eine gemeinsam genutzte Programmbibliothek, die von mehreren Programmen verwendet wird. == Idee da…“)
- Eine Shared Library ist eine gemeinsam genutzte Programmbibliothek, die von mehreren Programmen verwendet wird.
Idee dahinter
- Programme müssen häufig dieselben Funktionen nutzen (z.B. Dateizugriff, Ausgabe, Netzwerk).
- Diese Funktionen werden in Bibliotheken ausgelagert.
- Mehrere Programme greifen zur Laufzeit auf dieselbe Bibliothek zu.
Dateitypen
- libxyz.so (Shared Library)
- libxyz.a (Statische Library)
Beispiel
- /bin/ls nutzt keine eigene printf-Funktion
- ls verwendet die Funktion printf aus libc.so
Vorteile
- Weniger Speicherverbrauch
- Weniger Plattenplatz
- Updates der Library wirken sofort für alle Programme
Nachteile
- Falsche oder fehlende Library-Version kann Programme starten verhindern
- Abhängigkeiten müssen erfüllt sein
- /lib
- /lib64
- /usr/lib
- /usr/lib64
Wer lädt die Libraries?
- Der dynamische Linker (ld-linux.so)
Library-Abhängigkeiten anzeigen
- ldd /bin/ls
Merksatz
- Shared Libraries = gemeinsam genutzter Code zur Laufzeit