Logo programu | |
| Autor | Projekt GNU |
|---|---|
| Aktualnawersja stabilna | 2.43 (23 stycznia 2026) [±] |
| Platforma sprzętowa | Wieloplatformowy |
| System operacyjny | Wieloplatformowy |
| Rodzaj | Biblioteka uruchomieniowa |
| Licencja | GNU LGPL |
| Strona internetowa | |

GNU libc (glibc lublibc6) – wersjastandardowej biblioteki języka C, stworzona w ramach projektuGNU.
Udostępnia funkcjonalność wymaganą przezUNIX 98,Single UNIX Specification,POSIX (1c, 1d i 1j) oraz część funkcjonalności wymaganej przez normęISOC99, a dodatkowo rozszerzenia uznane za konieczne lub użyteczne w trakcie tworzenia GNU.
Glibc została napisana przezRolanda McGratha pracującego dlaFSF w latach 80. XX wieku.
W lutym 1988 roku FSF określiła glibc jako prawie spełniającą funkcjonalność wymaganą przezANSI C. W roku 1992 miała zaimplementowane funkcjeANSI C-1989 iPOSIX.1-1990.
We wczesnychlatach 90.XX wieku programiścijądra Linux – po tym jakFSF zbyt wolno reagowała na ich prośby o dodanie nowych funkcji[1] – zrobilirozgałęzienie glibc, nazywając je „Linux C Library”. Przez lata rozwoju doszli oni do wersji 5 (libc5).
Gdy w roku1996 FSF wydała glibc 2.0, okazało się, że w większym stopniu spełnia standardPOSIX, ma lepsze wsparciewielojęzykowości,IPv6, a jej kod był bardziejprzenośny. W takiej sytuacji programiści jądra Linux zdecydowali się nie kontynuować swojego rozgałęzienia i z powrotem używać GNU libc, zaś sama biblioteka została oznaczona wersją 6 (libc6).
Dla większości systemów, wersję biblioteki standardowej języka C można otrzymać poprzez uruchomienie pliku biblioteki (na przykład, /lib/libc.so.6).
| Wersja | Data | Uwagi | Zastosowanie |
|---|---|---|---|
| 0.1 – 0.6 | październik 1991 – luty 1992 | ||
| 1.0 | luty 1992 | ||
| 1.01 – 1.09.3 | marzec 1992 – grudzień 1994 | ||
| 1.90 – 1.102 | maj 1996 – styczeń 1997 | ||
| 2.0 | styczeń 1997 | ||
| 2.0.1 | styczeń 1997 | ||
| 2.0.2 | luty 1997 | ||
| 2.0.91 | grudzień 1997 | ||
| 2.0.95 | lipiec 1998 | ||
| 2.1 | luty 1999 | ||
| 2.1.1 | marzec 1999 | ||
| 2.2 | listopad 2000 | ||
| 2.2.1 | styczeń 2001 | ||
| 2.2.2 | luty 2001 | ||
| 2.2.3 | marzec 2001 | ||
| 2.2.4 | lipiec 2001 | ||
| 2.3 | październik 2002 | ||
| 2.3.1 | październik 2002 | ||
| 2.3.2 | luty 2003 | Debian 3.1 (Sarge) | |
| 2.3.3 | grudzień 2003 | ||
| 2.3.4 | grudzień 2004 | Standard dlaLinux Standard Base (LSB) 3.0 | RHEL 4 (Update 5) |
| 2.3.5 | kwiecień 2005 | SLES 9 | |
| 2.3.6 | listopad 2005 | Debian 4.0 (Etch) | |
| 2.4 | marzec 2006 | Standard dlaLSB 4.0 | SLES 10 |
| 2.5 | wrzesień 2006 | RHEL 5 | |
| 2.6 | maj 2007 | ||
| 2.7 | październik 2007 | Debian 5 (Lenny),Ubuntu 8.04 | |
| 2.8 | kwiecień 2008 | ||
| 2.9 | listopad 2008 | ||
| 2.10 | maj 2009 | ||
| 2.11 | październik 2009 | SLES 11,Ubuntu 10.04,eglibc użyto wDebian 6 (Squeeze) | |
| 2.12 | maj 2010 | RHEL 6 | |
| 2.13 | styczeń 2011 | eglibc 2.13 użyto wDebian 7 (Wheezy) | |
| 2.14 | czerwiec 2011 | ||
| 2.15 | marzec 2012 | Ubuntu 12.04 and 12.10 | |
| 2.16 | czerwiec 2012 | Wsparcie dlax32 ABI, zastosowanieISO C11,SystemTap | |
| 2.17 | grudzień 2012 | Wsparcie dla 64-bitowejarchitektury ARM | Ubuntu 13.04,RHEL 7 |
| 2.18 | sierpień 2013 | Udoskonalono wsparcie dlaC++11. Wsparcie dla mikroarchitekturMicroBlaze iPOWER8 | |
| 2.19 | luty 2014 | Ubuntu 14.04 | |
| 2.20 | wrzesień 2014 | ||
| 2.21 | luty 2015 | ||
| 2.22 | sierpień 2015 | ||
| 2.23 | luty 2016 | ||
| 2.24 | sierpień 2016 | Fedora 25,Ubuntu 16.10 i 17.04,Debian 9 | |
| 2.25 | luty 2017[2] | Dodany plik nagłówkowy<sys/random.h> (w nim funkcjegetentropy igetrandom) | Fedora 26 |
| 2.26 | sierpień 2017[3] | Fedora 27,Ubuntu 17.10 | |
| 2.27 | luty 2018[4] | Wsparcie dla architekturyRISC-V | Fedora 28,Ubuntu 18.04 |
| 2.28 | sierpień 2018[5] | Unikod w wersji 11.0.0 | Ubuntu 18.10,Debian 10,Fedora 29,RHEL 8 |
| 2.29 | luty 2019[6] | Dodana funkcjagetcpu (specyficzna dla Linuksa), optymalizacje funkcji matematycznych (m.in.exp,log), poprawki bezpieczeństwa i wiele innych | Ubuntu 19.04,Fedora 30 |
| 2.30 | sierpień 2019[7] | Wsparcie dla Unikodu w wersji 12.1.0; szereg nowych funkcji (większość spec. dla Linuksa), dodatkowe zabezpieczenia funkcji przydzielających pamięć (z rodzinymalloc), wsparcie dla kalendarzy chińskich i wybranych japońskich znaków z nowej wersji Unikodu, i wiele innych |
| Historia | |
|---|---|
| Licencje | |
| Programy | |
| Postacie |