GNU C Library
GNU C Library (glibc) est la bibliothèque standard C écrite par Roland McGrath pour le projet GNU. Il s'agit d'un logiciel libre, distribué selon les termes de la Licence publique générale limitée GNU. Depuis 2001, son principal contributeur et mainteneur est Ulrich Drepper[2].
Développé par | Projet GNU |
---|---|
Première version | |
Dernière version | 2.40 ()[1] |
Dépôt | sourceware.org/git/glibc.git |
Écrit en | C |
Système d'exploitation | GNU/Linux, GNU/Hurd (d) et BSD |
Environnement | Multiplateforme |
Formats lus | Time Zone Information Format (d) |
Formats écrits | Time Zone Information Format (d) |
Type | bibliothèque |
Licence | GNU LGPL |
Documentation | www.gnu.org/software/libc/manual |
Site web | www.gnu.org/software/libc/ |
Caractéristiques
modifierEn plus de fournir toutes les fonctionnalités requises par Unix98, Single UNIX Specification, POSIX (1c, 1d, et 1j), et certaines fonctionnalités requises par la norme ISO C99, glibc contient des extensions particulièrement utiles au développement dans le cadre du projet GNU.
La glibc est utilisée par différents types de systèmes : différents types de noyaux et différents types d'architectures. Elle est surtout présente dans les systèmes GNU/Linux (mais pas sur Android qui est également basé sur le noyau Linux) et fonctionne sur les architectures suivantes : x86, x86_64, Motorola 680x0, DEC Alpha, PowerPC, ARM, RISC-V, ETRAX CRIS, MIPS, s390 et SPARC.
Elle supporte les noyaux HURD et Linux, et des versions patchées peuvent fonctionner sur les noyaux FreeBSD et NetBSD (donnant alors les systèmes GNU/kFreeBSD et GNU/kNetBSD, respectivement). Sous une forme modifiée elle est utilisée par la libroot de BeOS, et par conséquent aussi par le système d'exploitation Haiku.
libc6
modifierLa version 2 de la glibc est connue des utilisateurs de linux sous le nom libc6, car elle remplace l'ancienne bibliothèque C de Linux, qui était elle-même un fork d'une version antérieure de la glibc dont les versions allaient de 2 à 5. Ce nom est moins courant aujourd'hui, cependant dans les systèmes Linux elle est toujours appelée libc.so.6, et certains mainteneurs de paquets l'appellent encore libc6 (surtout ceux suivant la convention selon laquelle un nouveau nom doit correspondre à un nouveau paquet).
Alternatives
modifierEmbedded GLIBC (EGLIBC) est une variante de glibc pour les systèmes embarqués. Elle était utilisée notamment par Debian dans Debian 6 (Squeeze) et Debian 7 (Wheezy).
uClibc est une alternative pour les appareils avec peu de mémoire.
Android, qui repose sur un noyau Linux sans pouvoir être qualifié de distribution GNU/Linux, utilise de son côté la Bionic libc.
Notes et références
modifier- « The GNU C Library version 2.40 is now available », (consulté le )
- Jonathan Corbet, « A turning point for GNU libc », sur LWN.net, : « Of the nearly 19,000 commits found in the project's git repository (which contains changes back to 1995), over 12,000 were made by Ulrich. »
Annexes
modifierBibliographie
modifier- (en) Richard Stallman, Roland McGrath, Andrew Oram, Ulrich Drepper et Sandra Loosemore, The GNU C Library Reference Manual : for version 2.19, FSF, , 1064 p. (lire en ligne) ;
Liens externes
modifier- (en) Site officiel
- (en) Wiki officiel