libc(7)

NUME
libc - prezentare generală a bibliotecilor C standard din Linux

DESCRIERE
Termenul „libc” este utilizat în mod obișnuit ca o prescurtare pentru „biblioteca standard C” o bibliotecă de funcții standard care poate fi utilizată de toate programele C (și uneori de programe în alte limbaje). Din cauza unor aspecte istorice (a se vedea mai jos), utilizarea termenului „libc” pentru a se referi la biblioteca standard C este oarecum ambiguă în Linux.

  glibc
De departe, cea mai utilizată bibliotecă C în Linux este biblioteca GNU C Library (http://www.gnu.org/software/libc/), , denumită adesea glibc. Aceasta este biblioteca C care este utilizată în prezent în toate distribuțiile Linux majore. Este, de asemenea, biblioteca C ale cărei detalii sunt documentate în paginile relevante ale proiectului man-pages (în principal în secțiunea 3 a manualului). Documentația despre glibc este de asemenea disponibilă în manualul glibc, disponibil prin intermediul comenzii info libc. Versiunea 1.0 a glibc a fost realizată în septembrie 1992. (Au existat versiuni anterioare 0.x.) Următoarea versiune majoră a glibc a fost 2.0, la începutul anului 1997.

Numele de rută /lib/libc.so.6 (sau ceva asemănător) este în mod normal o legătură simbolică care indică locația bibliotecii glibc, iar executarea acestui nume de rută va face ca glibc să afișeze diverse informații despre versiunea instalată pe sistemul dumneavoastră.

  Linux libc
La începutul și până la mijlocul anilor 1990, a existat pentru o vreme Linux libc, o bifurcație a glibc 1.x creată de dezvoltatorii Linux care au considerat că dezvoltarea glibc de la acea vreme nu era suficientă pentru nevoile Linux. Adesea, această bibliotecă era denumită (în mod ambiguu) doar „]libc”. Linux libc a lansat versiunile majore 2, 3, 4 și 5, precum și multe versiuni minore ale acestor versiuni. Linux libc4 a fost ultima versiune care a folosit formatul binar a.out și prima versiune care a oferit suport (primitiv) pentru biblioteci partajate. Linux libc 5 a fost prima versiune care a acceptat formatul binar ELF; această versiune a folosit biblioteca partajată soname libc.so.5. Pentru o vreme, Linux libc a fost biblioteca C standard în multe distribuții Linux.

Cu toate acestea, în pofida motivațiilor inițiale ale efortului Linux libc, în momentul în care a fost lansat glibc 2.0 (în 1997), acesta era net superior lui Linux libc, iar toate distribuțiile Linux majore care utilizau Linux libc au revenit curând la glibc. Pentru a evita orice confuzie cu versiunile Linux libc, glibc 2.0 și versiunile ulterioare au folosit biblioteca partajată soname libc.so.6.

Deoarece trecerea de la Linux libc la glibc 2.0 a avut loc cu mult timp în urmă, man-pages nu mai se preocupă să documenteze detaliile Linux libc. Cu toate acestea, istoricul este vizibil în vestigiile de informații despre Linux libc care au rămas în câteva pagini de manual, în special referințele la libc4 și libc5.

  Alte biblioteci C
Există diverse alte biblioteci C mai puțin utilizate pe scară largă pentru Linux. Aceste biblioteci sunt, în general, mai mici decât glibc, atât din punct de vedere al funcțiilor, cât și al amprentei de memorie, și sunt adesea destinate construirii de binare mici, poate destinate dezvoltării pentru sisteme Linux integrate. Printre aceste biblioteci se numără uClibc (http://www.uclibc.org/), dietlibc (http://www.fefe.de/dietlibc/), și musl libc (http://www.musl-libc.org/). Detaliile acestor biblioteci sunt acoperite de proiectul man-pages, unde sunt cunoscute.

CONSULTAȚI ȘI
syscalls(2), getauxval(3), proc(5), feature_test_macros(7), man-pages(7), standards(7), vdso(7)

TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.