BEZEICHNUNG
libc - Überblick über C-Standardbibliotheken für Linux
BESCHREIBUNG
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.
Glibc
Die mit Abstand meistverwandte C-Bibliothek unter Linux ist
die GNU C-Bibliothek
http://www.gnu.org/software/libc/">http://www.gnu.org/software/libc/
, 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.
Linux
libc
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 Laufzeitbibliotheken.
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.
Weitere
C-Bibliotheken
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
http://www.uclibc.org/">uClibc, die
http://www.fefe.de/dietlibc/">dietlibc
und die http://www.musl-libc.org/">musl
libc. Einzelheiten dieser Bibliotheken werden vom
Projekt man-pages abgedeckt, wenn sie bekannt
sind.
SIEHE AUCH
syscalls(2), getauxval(3), proc(5), feature_test_macros(7), man-pages(7), standards(7), vdso(7)
KOLOPHON
Diese Seite ist Teil der Veröffentlichung 5.07 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer [AT] gmx.de> 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 <debian-l10n-german [AT] lists.org>.