Glibc | |
---|---|
Sorts | C POSIX-bibliotek |
Utvecklaren | GNU-projekt |
Skrivet i | Xi |
Operativ system | GNU/Linux [3] , GNU/Hurd [3] och BSD [3] |
Första upplagan | 1987 |
senaste versionen | |
Läsbara filformat | Tidszonsinformationsformat [d] [4][5][6] |
Genererade filformat | Tidszonsinformationsformat [d] [7][5][6] |
Licens | LGPLv2.1+ [d] [8] |
Hemsida | gnu.org/software/… ( engelska) |
Mediafiler på Wikimedia Commons |
glibc - GNU C-bibliotek ( GNU- bibliotek). Glibc är ett C - bibliotek som tillhandahåller systemanrop och grundläggande funktioner som open , malloc , printf , etc. C-biblioteket används för alla dynamiskt länkade program. Den är skriven av Free Software Foundation för GNU-operativsystem. glibc släpps under GNU LGPL -licensen .
glibc skrevs ursprungligen av Roland McGrath , som arbetade för FSF på 1980-talet. I februari 1988 introducerade FSF glibc som ett bibliotek som har nästan all funktionalitet som krävs av ANSI C- standarden [9] .
I början av 1990-talet skapade utvecklarna av Linux-kärnan en gaffel av glibc. Denna gaffel, kallad "Linux libc", utvecklades separat under flera år, med version 2 till 5 som släpptes.
När FSF släppte glibc 2.0 1996, som stödde IPv6 , 64-bitars dataåtkomst, flertrådade applikationer, kompatibilitet med framtida versioner och mer portabel källkod [10] , avbröt Linux-utvecklare utvecklingen av Linux libc och började använda FSF:s glibc. [elva]
.so-filen för den senaste Linux-libcen fick namnet (soname) libc.so.5 . glibc 2.x efter den använde namnet libc.so.6 [12] (på Alpha- och IA64-arkitekturer används namnet libc.so.6.1 istället ). Detta namn förkortas ofta till libc6 (t.ex. i ett Debian -paketnamn ), enligt de vanliga bibliotekskonventionerna.
Enligt Richard Stallman kan ändringar från Linux libc inte portas tillbaka till glibc eftersom författarskapet till denna kod är oklart och GNU -projektet är mycket strikt när det gäller att upprätthålla upphovsrättsregister. [13]
Version | datumet | Anteckningar | Adoption |
---|---|---|---|
2,33 | februari 2021 | Ubuntu 20.04 | |
2,32 | augusti 2020 | ||
2,31 | februari 2020 | ||
2.30 | augusti 2019 | ||
2,29 | februari 2019 | ||
2.28 | augusti 2018 | ||
2.27 | februari 2018 | Prestandaoptimeringar. RISC-V- stöd . | Ubuntu 18.04 |
2.26 | augusti 2017 | Förbättrad prestanda (per-tråd cache för malloc), Unicode 10-stöd | Ubuntu 17.10 |
2,25 | februari 2017 | Lade till funktionerna getentropy och getrandom och rubrikfil <sys/random.h>. | Fedora 26 |
2.24 | augusti 2016 | Tog bort några föråldrade funktioner | |
2.23 | februari 2016 | Unicode 8.0 | Fedora 24, Ubuntu 16.04 |
2.22 | augusti 2015 | Lade till libmvec vektor matematikbibliotek. | |
2.21 | februari 2015 | Stöd för Altera Nios II- arkitektur | Ubuntu 15.04, Debian experimentell, Fedora 22 |
2.20 | september 2014 | Fedora 21 | |
2.19 | Februari 2014 | Ubuntu 14.04, eglibc 2.19 på Debian 8 (Jessie), openSUSE 13, SLES 12 | |
2.18 | augusti 2013 | Förbättrat stöd för ISO C11-standarden . Xilinx MicroBlaze och IBM POWER8 mikroarkitektur stöd | Fedora 20 |
2.17 | december 2012 | Stöd för 64-bitars ARM-arkitektur | Ubuntu 13.04, RHEL 7 |
2.16 | juni 2012 | x32 ABI- stöd , ISO C11-standard , SystemTap | |
2.15 | mars 2012 | Ubuntu 12.04 och 12.10 | |
2.14 | juni 2011 | ||
2.13 | januari 2011 | eglibc 2.13 på Debian 7 (Wheezy) | |
2.12 | maj 2010 | RHEL 6 | |
2.11 | oktober 2009 | SLES 11, Ubuntu 10.04, eglibc på Debian 6 (Squeeze) | |
2.10 | maj 2009 | ||
2.9 | november 2008 | Ubuntu 9.04 | |
2.8 | april 2008 | Ubuntu 8.10 | |
2.7 | oktober 2007 | Debian 5 (Lenny), Ubuntu 8.04 | |
2.6 | maj 2007 | ||
2.5 | september 2006 | Fullständig inotify- support | RHEL 5 |
2.4 | mars 2006 | Standard i LSB 4.0, initialt stöd för inotify | SLES 10 |
2.3.6 | november 2005 | Debian 4.0 (Etch) | |
2.3.5 | april 2005 | SLES 9 | |
2.3.4 | december 2004 | Standard i LSB 3.0 | RHEL 4 (Uppdatering 5) |
2.3.2 | februari 2003 | Debian 3.1 (Sarge) | |
2.3 | oktober 2002 | ||
2.2.4 | juli 2001 | ||
2.2 | november 2000 | ||
2.1.1 | mars 1999 | ||
2.1 | februari 1999 | ||
2.0.95 | juli 1998 | ||
2.0 | januari 1997 | ||
1,90 - 1,102 | Maj 1996 - januari 1997 | ||
1.01 — 1.09.3 | Mars 1992 - december 1994 | ||
1.0 | februari 1992 | ||
0,1 - 0,6 | Oktober 1991 - februari 1992 |
Glibc används på system som kör många olika operativsystem och på olika arkitekturer. glibc används oftast på x86 Linux- maskiner . Följande arkitekturer stöds också officiellt: SPARC , Motorola 68k , DEC Alpha , PowerPC , ARM , s390 [14] .
glibc kritiseras ofta för att vara "uppsvälld" och långsam jämfört med andra tidigare bibliotek [15] . Därför har flera alternativa standard C-bibliotek ( dietlibc , uClibc , Newlib , musl , Klibc ) skapats. Också under kritik är underhållaren Ulrich Drepper och hans inställning till buggar i Glibc [16] .
2009 ersatte populära distributioner som Debian [17] , Ubuntu och ArkLinux [18] glibc med ett alternativt bibliotek , eglibc , som ursprungligen var inriktat på inbäddade system . Eglibc är en variant av glibc som är mer vänlig att acceptera tredje parts patchar. Den 18 juni 2014 meddelade dock en av paketunderhållarna av Debiandistributionen att de skulle ersätta eglibc- biblioteket med glibc-biblioteket [19] .
GNU-projekt | ||
---|---|---|
Berättelse | ||
Licenser |
| |
Programvara _ |
| |
Personligheter |
| |
Andra ämnen |
|
C programmeringsspråk | |
---|---|
Kompilatorer |
|
Bibliotek | |
Egenheter | |
Några ättlingar | |
C och andra språk |
|
Kategori:C programmeringsspråk |