libc - Überblick über C-Standardbibliotheken für Linux
Der Begriff »Libc« wird allgemein als Abkürzung für
die »Standard-C-Bibliothek« verwendet. Sie ist eine Bibliothek
von Standardfunktionen, die von allen C-Programmen (und manchmal auch von
Programmen in anderen Sprachen) verwendet werden können. Bedingt durch
die geschichtliche Entwicklung (siehe unten) ist die Verwendung des Begriffs
»Libc« als Verweis auf die Standard-C-Bibliothek für
Linux nicht ganz eindeutig.
Die mit Abstand meistverwandte C-Bibliothek unter Linux ist die
GNU
C-Bibliothek , die oft auch als
Glibc bezeichnet wird. Dies ist die
C-Bibliothek, die heutzutage in allen großen Linux-Distributionen
verwendet wird. Es ist auch die C-Bibliothek, deren Einzelheiten in den
entsprechenden Seiten des Projekts
man-pages (vor allem in Abschnitt 3
des Handbuchs) dokumentiert sind. Dokumentation für die Glibc steht
auch im Glibc-Handbuch zur Verfügung, das Sie mit dem Befehl
info
libc einsehen können. Version 1.0 der Glibc wurde im September 1992
veröffentlicht. (Ihr gingen 0.x-Versionen voran.) Die nächste
Hauptversion von Glibc war 2.0 zu Beginn des Jahres 1997.
Der Pfadname
/lib/libc.so.6 (oder etwas ähnliches) ist
üblicherweise ein symbolischer Link auf den Speicherort der
Glibc-Bibliothek. Die Eingabe dieses Pfadnamens veranlasst Glibc dazu,
verschiedene Informationen über die auf Ihrem System installierte
Version auszugeben.
Zu Anfang bis Mitte der 1990er Jahre gab es einige Zeit eine Abspaltung (Fork)
von der Glibc 1.x, die
Linux libc. Sie wurde von den Linux-Entwicklern
gestartet, die die Entwicklung der Glibc zu dieser Zeit als nicht für
die Erfordernisse von Linux angemessen empfanden. Oft wurde von dieser
Bibliothek (nicht eindeutig) einfach als »Libc« gesprochen.
Linux libc veröffentlichte die Hauptversionen 2, 3, 4 und 5 sowie
darüber hinaus viele Nebenversionen dieser Veröffentlichungen.
Linux libc4 war die letzte Version, die das Binärformat a.out
verwendete und die erste Version, die (grundlegende) Unterstützung
für Laufzeit-Bibliotheken bereitstellte. Linux libc 5 war die erste
Version, die das Binärformat ELF unterstützte; diese Version
verwendete als »soname« für die Laufzeit-Bibliothek
libc.so.5.Einige Zeit war Linux libc die Standard-C-Bibliothek
zahlreicher Linux-Distributionen.
Ungeachtet der ursprünglichen Motivation der Entwicklung der Linux Libc
war bei der Veröffentlichung von Glibc 2.0 (1997) diese der Linux Libc
klar überlegen. Alle wichtigen Linux-Distributionen, die die Linux Libc
nutzten, wechselten bald wieder zur Glibc. Um das Durcheinander mit den
Linux-Libc-Versionen zu vermeiden, verwendeten Glibc 2.0 und neuer den Soname
libc.so.6 für dynamische Bibliotheken.
Da dieser Wechsel vor langer Zeit vollzogen wurde, kümmern sich die
man-pages nicht mehr um die Dokumentation von Details der Linux libc.
Gleichwohl finden sich in wenigen Handbuchseiten Spuren der Geschichte,
insbesondere als Referenzen auf
libc4 und
libc5.
Es gibt verschiedene andere, weniger verbreitete C-Bibliotheken für
Linux. Diese Bibliotheken sind im Allgemeinen kleiner als die Glibc, sowohl in
Bezug auf Funktionen als auch auf Speicherbedarf. Oft werden sie zur Erzeugung
kleiner Binärdateien genutzt und zielen auf die Entwicklung für
eingebettete Linux-Systeme. Zu diesen Bibliotheken gehören die
uClibc
dietlibc
und
musl
libc Einzelheiten dieser Bibliotheken werden vom Projekt
man-pages abgedeckt, wenn sie bekannt sind.
syscalls(2),
getauxval(3),
proc(5),
feature_test_macros(7),
man-pages(7),
standards(7),
vdso(7)
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard
Schauer <
[email protected]> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU
General Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an die
Mailingliste
der Übersetzer