Shared Libraries (Linux-Grundlagen): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(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…“) |
|||
| Zeile 1: | Zeile 1: | ||
== Was ist eine Shared Library? == | == Was ist eine Shared Library? == | ||
*Eine Shared Library ist eine gemeinsam genutzte Programmbibliothek, die von mehreren Programmen verwendet wird. | *Eine Shared Library ist eine gemeinsam genutzte Programmbibliothek, die von mehreren Programmen verwendet wird. | ||
| + | {{#drawio:lib-1}} | ||
== Idee dahinter == | == Idee dahinter == | ||
Aktuelle Version vom 30. Januar 2026, 07:49 Uhr
- 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
