Glibc | |
---|---|
Tyyppi | C POSIX-kirjasto |
Kehittäjä | GNU projekti |
Sisään kirjoitettu | Xi |
Käyttöjärjestelmä | GNU/Linux [3] , GNU/Hurd [3] ja BSD [3] |
Ensimmäinen painos | 1987 |
uusin versio | |
Luettavat tiedostomuodot | Aikavyöhyketietojen muoto [d] [4][5][6] |
Luodut tiedostomuodot | Aikavyöhyketietojen muoto [d] [7][5][6] |
Lisenssi | LGPLv2.1+ [d] [8] |
Verkkosivusto | gnu.org/software/… ( englanti) |
Mediatiedostot Wikimedia Commonsissa |
glibc - GNU C -kirjasto ( GNU - kirjasto). Glibc on C - kirjasto , joka tarjoaa järjestelmäkutsuja ja perustoimintoja, kuten open , malloc , printf jne. C-kirjastoa käytetään kaikissa dynaamisesti linkitetyissä ohjelmissa. Sen on kirjoittanut Free Software Foundation for GNU-käyttöjärjestelmille. glibc on julkaistu GNU LGPL -lisenssillä .
glibc on alunperin kirjoittanut Roland McGrath , joka työskenteli FSF :ssä 1980-luvulla. Helmikuussa 1988 FSF esitteli glibc:n kirjastona, jossa on lähes kaikki ANSI C -standardin edellyttämät toiminnot [9] .
1990-luvun alussa Linux-ytimen kehittäjät loivat glibc :n haarukan . Tämä haarukka, nimeltään "Linux libc", kehitettiin erikseen useiden vuosien aikana, ja versiot 2–5 julkaistiin.
Kun FSF julkaisi glibc 2.0:n vuonna 1996, joka tuki IPv6 :ta, 64-bittistä dataa, monisäikeisiä sovelluksia, yhteensopivuutta tulevien versioiden kanssa ja kannettavampaa lähdekoodia [10] , Linux-kehittäjät keskeyttivät Linux libc:n kehittämisen ja alkoivat käyttää FSF:n glibc:tä. [yksitoista]
Uusimman Linux libc:n .so-tiedoston nimi oli (soname) libc.so.5 . Sitä seuraava glibc 2.x käytti nimeä libc.so.6 [12] ( Alpha- ja IA64-arkkitehtuureissa käytetään sen sijaan nimeä libc.so.6.1 ). Tämä nimi lyhennetään usein muotoon libc6 (esim. Debian - paketin nimessä ) tavanomaisten kirjastokäytäntöjen mukaisesti.
Richard Stallmanin mukaan muutoksia Linux libc:stä ei voida siirtää takaisin glibc:hen, koska tämän koodin tekijä on epäselvä ja GNU -projekti on erittäin tiukka tekijänoikeustietueiden ylläpidon suhteen. [13]
Versio | päivämäärä | Huomautuksia | Hyväksyminen |
---|---|---|---|
2.33 | Helmikuu 2021 | Ubuntu 20.04 | |
2.32 | Elokuu 2020 | ||
2.31 | Helmikuu 2020 | ||
2.30 | Elokuu 2019 | ||
2.29 | Helmikuu 2019 | ||
2.28 | Elokuu 2018 | ||
2.27 | Helmikuu 2018 | Suorituskyvyn optimoinnit. RISC-V- tuki . | Ubuntu 18.04 |
2.26 | Elokuu 2017 | Parannettu suorituskyky (säiekohtainen välimuisti mallocille), Unicode 10 -tuki | Ubuntu 17.10 |
2.25 | Helmikuu 2017 | Lisätty funktiot getentropy ja getrandom sekä otsikkotiedosto <sys/random.h>. | Fedora 26 |
2.24 | Elokuu 2016 | Poistettu joitakin käytöstä poistettuja ominaisuuksia | |
2.23 | Helmikuu 2016 | Unicode 8.0 | Fedora 24, Ubuntu 16.04 |
2.22 | Elokuu 2015 | Lisätty libmvec-vektorimatematiikan kirjasto. | |
2.21 | Helmikuu 2015 | Tuki Altera Nios II -arkkitehtuurille | Ubuntu 15.04, Debianin kokeellinen, Fedora 22 |
2.20 | Syyskuu 2014 | Fedora 21 | |
2.19 | helmikuu 2014 | Ubuntu 14.04, eglibc 2.19 Debian 8:ssa (Jessie), openSUSE 13, SLES 12 | |
2.18 | elokuu 2013 | Parannettu ISO C11 - standardin tuki . Xilinx MicroBlaze ja IBM POWER8 mikroarkkitehtuurituki | Fedora 20 |
2.17 | joulukuuta 2012 | Tuki 64-bittiselle ARM-arkkitehtuurille | Ubuntu 13.04, RHEL 7 |
2.16 | Kesäkuu 2012 | x32 ABI -tuki , ISO C11 -standardi , SystemTap | |
2.15 | Maaliskuu 2012 | Ubuntu 12.04 ja 12.10 | |
2.14 | Kesäkuu 2011 | ||
2.13 | tammikuuta 2011 | eglibc 2.13 Debian 7:ssä (Wheezy) | |
2.12 | toukokuuta 2010 | RHEL 6 | |
2.11 | lokakuuta 2009 | SLES 11, Ubuntu 10.04, eglibc Debian 6:ssa (Squeeze) | |
2.10 | toukokuuta 2009 | ||
2.9 | marraskuuta 2008 | Ubuntu 9.04 | |
2.8 | huhtikuuta 2008 | Ubuntu 8.10 | |
2.7 | lokakuuta 2007 | Debian 5 (Lenny), Ubuntu 8.04 | |
2.6 | toukokuuta 2007 | ||
2.5 | Syyskuu 2006 | Täysi inotify- tuki | RHEL 5 |
2.4 | Maaliskuu 2006 | Vakio LSB 4.0:ssa, alustava tuki inotifylle | SLES 10 |
2.3.6 | marraskuuta 2005 | Debian 4.0 (Etch) | |
2.3.5 | huhtikuuta 2005 | SLES 9 | |
2.3.4 | joulukuuta 2004 | Vakio LSB 3.0:ssa | RHEL 4 (päivitys 5) |
2.3.2 | Helmikuu 2003 | Debian 3.1 (Sarge) | |
2.3 | lokakuuta 2002 | ||
2.2.4 | Heinäkuu 2001 | ||
2.2 | marraskuuta 2000 | ||
2.1.1 | Maaliskuu 1999 | ||
2.1 | Helmikuu 1999 | ||
2.0.95 | Heinäkuu 1998 | ||
2.0 | tammikuuta 1997 | ||
1,90 - 1,102 | Toukokuu 1996 - tammikuu 1997 | ||
1.01 - 1.09.3 | Maaliskuu 1992 - joulukuu 1994 | ||
1.0 | Helmikuu 1992 | ||
0,1 - 0,6 | Lokakuu 1991 - helmikuu 1992 |
Glibc:tä käytetään järjestelmissä, joissa on useita eri käyttöjärjestelmiä ja erilaisia arkkitehtuuria. glibc on yleisimmin käytetty x86 Linux - koneissa . Myös seuraavat arkkitehtuurit ovat virallisesti tuettuja: SPARC , Motorola 68k , DEC Alpha , PowerPC , ARM , s390 [14] .
glibc:tä kritisoidaan usein "paisuntaisesta" ja hitaasta verrattuna muihin menneisiin kirjastoihin [15] . Siksi on luotu useita vaihtoehtoisia standardi C-kirjastoja ( dietlibc , uClibc , Newlib , musl , Klibc ). Kritiikin kohteena on myös ylläpitäjä Ulrich Drepper ja hänen suhtautumisensa Glibcin bugeihin [16] .
Vuonna 2009 suositut jakelut, kuten Debian [17] , Ubuntu ja ArkLinux [18] , korvasivat glibc:n vaihtoehtoisella kirjastolla , eglibc :llä , joka oli alun perin suunnattu sulautettuihin järjestelmiin . Eglibc on glibc:n muunnos, joka on ystävällisempi hyväksymään kolmannen osapuolen korjaustiedostoja. Kuitenkin 18. kesäkuuta 2014 yksi Debian-jakelun pakettien ylläpitäjistä ilmoitti, että he korvasivat eglibc -kirjaston glibc-kirjastolla [19] .
GNU projekti | ||
---|---|---|
Tarina | ||
Lisenssit |
| |
Ohjelmisto_ _ |
| |
Persoonallisuudet |
| |
Muut aiheet |
|
C-ohjelmointikieli | |
---|---|
Kääntäjät |
|
Kirjastot | |
Erikoisuudet | |
Jotkut jälkeläiset | |
C ja muut kielet |
|
Luokka: C-ohjelmointikieli |