Shared Libraries (Linux-Grundlagen)

Aus Xinux Wiki
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…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Was ist eine Shared Library?

  • 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

Wo liegen Shared Libraries?

  • /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