Glibc | |
---|---|
Tip de | C bibliotecă POSIX |
Dezvoltator | Proiectul GNU |
Scris in | Xi |
Sistem de operare | GNU/Linux [3] , GNU/Hurd [3] și BSD [3] |
Prima editie | 1987 |
ultima versiune | |
Formate de fișiere care pot fi citite | Formatul informațiilor fus orar [d] [4][5][6] |
Formate de fișiere generate | Formatul informațiilor fus orar [d] [7][5][6] |
Licență | LGPLv2.1+ [d] [8] |
Site-ul web | gnu.org/software/… ( engleză) |
Fișiere media la Wikimedia Commons |
glibc - GNU C Library ( biblioteca GNU ). Glibc este o bibliotecă C care oferă apeluri de sistem și funcții de bază, cum ar fi open , malloc , printf , etc. Biblioteca C este folosită pentru toate programele legate dinamic. Este scris de Free Software Foundation pentru sistemele de operare GNU. glibc este lansat sub licența GNU LGPL .
glibc a fost scris inițial de Roland McGrath , care a lucrat pentru FSF în anii 1980. În februarie 1988, FSF a introdus glibc ca o bibliotecă care are aproape toate funcționalitățile cerute de standardul ANSI C [9] .
La începutul anilor 1990, dezvoltatorii nucleului Linux au creat un furk de glibc. Această furcă, numită „Linux libc”, a fost dezvoltată separat de-a lungul mai multor ani, fiind lansate versiunile 2 până la 5.
Când FSF a lansat glibc 2.0 în 1996, care a acceptat IPv6 , acces la date pe 64 de biți, aplicații multi-threaded, compatibilitate cu versiunile viitoare și mai mult cod sursă portabil [10] , dezvoltatorii Linux au întrerupt dezvoltarea Linux libc și au început să folosească glibc-ul FSF. [unsprezece]
Fișierul .so al celui mai recent Linux libc a fost numit (sonam) libc.so.5 . glibc 2.x după el a folosit numele libc.so.6 [12] (pe arhitecturile Alpha și IA64 , numele libc.so.6.1 este folosit în schimb ). Acest nume este adesea scurtat la libc6 (de exemplu, într-un nume de pachet Debian ), urmând convențiile obișnuite ale bibliotecii.
Potrivit lui Richard Stallman , modificările de la Linux libc nu pot fi portate înapoi la glibc, deoarece paternitatea acestui cod este neclară, iar proiectul GNU este foarte strict în ceea ce privește menținerea înregistrărilor drepturilor de autor. [13]
Versiune | data | Note | Adopţie |
---|---|---|---|
2.33 | februarie 2021 | Ubuntu 20.04 | |
2.32 | august 2020 | ||
2.31 | februarie 2020 | ||
2.30 | august 2019 | ||
2.29 | februarie 2019 | ||
2.28 | august 2018 | ||
2.27 | februarie 2018 | Optimizări de performanță. Suport RISC-V . | Ubuntu 18.04 |
2.26 | august 2017 | Performanță îmbunătățită (cache pe thread pentru malloc), suport Unicode 10 | Ubuntu 17.10 |
2.25 | februarie 2017 | S-au adăugat funcțiile getentropy și getrandom și fișierul antet <sys/random.h>. | Fedora 26 |
2.24 | august 2016 | Au fost eliminate unele funcții depreciate | |
2.23 | februarie 2016 | Unicode 8.0 | Fedora 24, Ubuntu 16.04 |
2.22 | august 2015 | S-a adăugat biblioteca de matematică vectorială libmvec. | |
2.21 | februarie 2015 | Suport pentru arhitectura Altera Nios II | Ubuntu 15.04, Debian experimental, Fedora 22 |
2.20 | septembrie 2014 | Fedora 21 | |
2.19 | februarie 2014 | Ubuntu 14.04, eglibc 2.19 pe Debian 8 (Jessie), openSUSE 13, SLES 12 | |
2.18 | August 2013 | Suport îmbunătățit pentru standardul ISO C11 . Suport pentru microarhitectură Xilinx MicroBlaze și IBM POWER8 | Fedora 20 |
2.17 | decembrie 2012 | Suport pentru arhitectura ARM pe 64 de biți | Ubuntu 13.04, RHEL 7 |
2.16 | iunie 2012 | Suport x32 ABI , standard ISO C11 , SystemTap | |
2.15 | martie 2012 | Ubuntu 12.04 și 12.10 | |
2.14 | iunie 2011 | ||
2.13 | ianuarie 2011 | eglibc 2.13 pe Debian 7 (Wheezy) | |
2.12 | mai 2010 | RHEL 6 | |
2.11 | octombrie 2009 | SLES 11, Ubuntu 10.04, eglibc pe Debian 6 (Squeeze) | |
2.10 | mai 2009 | ||
2.9 | noiembrie 2008 | Ubuntu 9.04 | |
2.8 | aprilie 2008 | Ubuntu 8.10 | |
2.7 | octombrie 2007 | Debian 5 (Lenny), Ubuntu 8.04 | |
2.6 | mai 2007 | ||
2.5 | septembrie 2006 | Asistență completă pentru notificări | RHEL 5 |
2.4 | martie 2006 | Standard în LSB 4.0, suport inițial pentru inotify | SLES 10 |
2.3.6 | noiembrie 2005 | Debian 4.0 (Etch) | |
2.3.5 | aprilie 2005 | SLES 9 | |
2.3.4 | decembrie 2004 | Standard în LSB 3.0 | RHEL 4 (Actualizare 5) |
2.3.2 | februarie 2003 | Debian 3.1 (Sarge) | |
2.3 | octombrie 2002 | ||
2.2.4 | iulie 2001 | ||
2.2 | noiembrie 2000 | ||
2.1.1 | martie 1999 | ||
2.1 | februarie 1999 | ||
2.0.95 | iulie 1998 | ||
2.0 | ianuarie 1997 | ||
1,90 - 1,102 | mai 1996 - ianuarie 1997 | ||
1.01 — 1.09.3 | martie 1992 - decembrie 1994 | ||
1.0 | februarie 1992 | ||
0,1 - 0,6 | octombrie 1991 - februarie 1992 |
Glibc este utilizat pe sisteme care rulează multe sisteme de operare diferite și pe arhitecturi diferite. glibc este cel mai frecvent utilizat pe mașinile x86 Linux . De asemenea, sunt acceptate oficial următoarele arhitecturi: SPARC , Motorola 68k , DEC Alpha , PowerPC , ARM , s390 [14] .
glibc este adesea criticat pentru că este „umflat” și lent în comparație cu alte biblioteci din trecut [15] . Prin urmare, au fost create mai multe biblioteci C standard alternative ( dietlibc , uClibc , Newlib , musl , Klibc ). De asemenea, sub critică este întreținătorul Ulrich Drepper și atitudinea sa față de bug-uri în Glibc [16] .
În 2009, distribuțiile populare precum Debian [17] , Ubuntu și ArkLinux [18] au înlocuit glibc cu o bibliotecă alternativă , eglibc , destinată inițial sistemelor încorporate . Eglibc este o variantă a glibc care este mai prietenoasă cu acceptarea patch-urilor terților. Cu toate acestea, pe 18 iunie 2014, unul dintre menținătorii de pachete ai distribuției Debian a anunțat că înlocuiește biblioteca eglibc cu biblioteca glibc [19] .
Proiectul GNU | ||
---|---|---|
Poveste | ||
Licențe |
| |
software _ |
| |
Personalități |
| |
Alte subiecte |
|
limbaj de programare C | |
---|---|
Compilatoare |
|
Biblioteci | |
Particularități | |
Unii descendenți | |
C și alte limbi |
|
Categorie: limbaj de programare C |