GNU C Library

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
GNU C Library
Biblioteka uruchomieniowa
Heckert GNU white.svg
Logo programu
Producent Projekt GNU
Platforma sprzętowa Wieloplatformowy
System operacyjny Wieloplatformowy
Aktualna wersja stabilna 2.19 / 8 lutego 2014[1]
Licencja GNU LGPL
www.gnu.org/software/libc/
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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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[2] – 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[edytuj | edytuj kod]

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ż[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]

Przypisy

  1. The GNU C Library (ang.). [dostęp 2014-02-26].
  2. 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.