libc(7)

NOM
libc – Aperçu des bibliothèques standard de C sous Linux

DESCRIPTION
Le terme « libc » est couramment utilisé comme une abréviation pour la bibliothèque standard de C (« standard C library »), une bibliothèque de fonctions normalisées qui peuvent être utilisées par tous les programmes C (et parfois par des programmes dans d'autres langages). Pour des raisons historiques (voir ci-dessous), l'utilisation du terme « libc » pour parler de la bibliothèque standard de C est un peu ambiguë sous Linux.

  glibc
La bibliothèque C de loin la plus utilisée sous Linux est la bibliothèque C du projet GNU (http://www.gnu.org/software/libc/), souvent désignée comme glibc. Il s'agit de la bibliothèque C utilisée aujourd'hui dans toutes les distributions principales Linux. Il s'agit également de la bibliothèque C dont les détails sont documentés dans les pages concernées du projet man-pages (principalement dans la section 3 du manuel). La documentation de la glibc est également disponible dans le manuel de la glibc à l’aide de la commande info libc. La version 1.0 de la glibc a été publiée en septembre 1992 (il existait des versions 0.x antérieures). La version majeure suivante de la glibc a été la version 2.0, publiée au début de 1997.

Le chemin /lib/libc.so.6 (ou quelque chose de similaire) est normalement un lien symbolique qui pointe vers l'emplacement de la bibliothèque glibc et l'exécution de ce chemin permet d'afficher les diverses informations sur la version installée sur votre système.

  Linux libc
Du début jusqu'au milieu des années 1990, il existait déjà depuis un moment la libc de Linux, un fourchage de la glibc 1.x créé par des développeurs Linux qui ont estimé que le développement de la glibc de l'époque n'était pas suffisant pour les besoins de Linux. Souvent, cette bibliothèque a été appelée, de manière ambiguë, simplement « libc ». Les versions majeures 2, 3, 4 et 5 de la libc de Linux ont été publiées, ainsi que de nombreuses versions mineures. La libc4 de Linux a été la dernière version à utiliser le format binaire a.out et la première version à fournir la prise en charge (rudimentaire) de bibliothèque partagée. La libc5 de Linux a été la première version à prendre en charge le format binaire ELF. Cette version utilisait le soname (nom logique) de bibliothèque partagée libc.so.5. Pendant un certain temps, la libc de Linux a été la bibliothèque standard C dans de nombreuses distributions de Linux.

Cependant, malgré les efforts de développement de la libc de Linux, lorsque la bibliothèque glibc 2.0 est sortie en 1997, elle s'est montrée nettement supérieure à la libc de Linux. Par conséquent toutes les principales distributions de Linux qui avaient utilisé la libc de Linux sont très vite revenues à la glibc. Pour éviter toute confusion avec les versions de la libc de Linux, la glibc 2.0 et les versions suivantes ont utilisé le soname de bibliothèque partagée libc.so.6.

Comme ce changement de la libc de Linux vers la glibc 2.0 a eu lieu il y a longtemps, man-pages ne documente plus les détails de libc de Linux. Néanmoins, l'historique est visible dans des vestiges d'informations sur la libc de Linux qui restent dans certaines pages de manuel, en particulier des références à libc4 et libc5.

  Autres bibliothèques C
Il existe plusieurs bibliothèques C pour Linux qui sont moins répandues. Ces bibliothèques sont généralement plus petites que la glibc, en termes de fonctionnalités et de mémoire, et sont souvent destinées à la construction des petits exécutables, possiblement pour le développement des systèmes embarqués de Linux. Parmi ces bibliothèques : uClibc (http://www.uclibc.org/), dietlibc (http://www.fefe.de/dietlibc/) et musl libc (http://www.musl-libc.org/). En général, les détails de ces bibliothèques sont couverts par le projet man-pages, lorsqu'ils sont connus.

VOIR AUSSI
syscalls(2), getauxval(3), proc(5), feature_test_macros(7), man-pages(7), standards(7), vdso(7)

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.