GNU C Library

GNU libc (glibc lub libc6) – wersja standardowej biblioteki języka C, stworzona w ramach projektu GNU.
Udostępnia funkcjonalność wymaganą przez UNIX 98, Single UNIX Specification, POSIX (1c, 1d i 1j) oraz część funkcjonalności wymaganej przez normę ISO C99, a dodatkowo rozszerzenia uznane za konieczne lub użyteczne w trakcie tworzenia GNU.
Historia
Glibc została napisana przez Rolanda McGratha pracującego dla FSF w latach 80. XX wieku.
W lutym 1988 roku FSF określiła glibc jako prawie spełniającą funkcjonalność wymaganą przez ANSI C. W roku 1992 miała zaimplementowane funkcje ANSI C-1989 i POSIX.1-1990.
Linuksowy fork
We wczesnych latach 90. XX wieku programiści jądra Linux – po tym jak FSF zbyt wolno reagowała na ich prośby o dodanie nowych funkcjonalności[1] – zrobili rozgałęzienie glibc, nazywając je "Linux libc". Przez lata rozwoju doszli oni do wersji 5 (libc5).
Gdy w roku 1996 FSF wydała glibc 2.0, okazało się, że w większym stopniu spełnia standard POSIX, ma lepsze wsparcie wielojęzykowości, IPv6, a jej kod był bardziej przenośny. W takiej sytuacji programiści jądra Linux zdecydowali się nie kontynuować swojego rozgałęzienia i z powrotem używać GNU libc.
Glibc w systemie GNU/Linux nazywana jest libc6, co ma związek z ww. rozwojem "Linux libc".
Historia wersji
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 dla Linux Standard Base (LSB) 3.0 | RHEL 4 (Update 5) |
2.3.5 | Grudzień 2005 | SLES 9 | |
2.3.6 | Listopad 2005 | Debian 4.0 (Etch) | |
2.4 | Marzec 2006 | Standard dla LSB 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 w Debian 6 (Squeeze) | |
2.12 | Maj 2010 | RHEL 6 | |
2.13 | Styczeń 2011 | eglibc 2.13 użyto w Debian 7 (Wheezy) | |
2.14 | Czerwiec 2011 | ||
2.15 | Marzec 2012 | Ubuntu 12.04 and 12.10 | |
2.16 | Czerwiec 2012 | Wsparcie dla x32 ABI, zastosowanie ISO C11, SystemTap | |
2.17 | Grudzień 2012 | Wsparcie dla 64-bitowej architektury ARM | Ubuntu 13.04, RHEL 7 |
2.18 | Sierpień 2013 | Udoskonalono wsparcie dla C++11. Wsparcie dla mikroarchitektur MicroBlaze i POWER8 | |
2.19 | Luty 2014 | Ubuntu 14.04 |
Zobacz też
- diet libc
- uClibc
- klibc
- Embedded GLIBC (EGLIBC)
Linki zewnętrzne
- ↑ Sam Williams – W obronie wolności – Rozdział 10. W latach 1993–1994 glibc była "wąskim gardłem" Linuksa. Ponieważ wielu użytkowników dodawało do jądra swe własne funkcje, ludzie pracujący w projekcie GNU nad utrzymaniem glibc zostali wkrótce przytłoczeni nadmiarem żądań. Część użytkowników Linuksa, sfrustrowanych opóźnieniami i szerzącym się przekonaniem o rozlazłości projektu GNU, domagała się "rozwidlenia" działań i stworzenia równoległej do glibc biblioteki C.