libc(7) Miscellaneous Information Manual libc(7)
NAZWA
libc - przeglad standardowych bibliotek C na Linuksie
OPIS
Pojecie ,,libc" sluzy czesto jako skrot nazwy ,,standardowa biblioteka
C" -- biblioteki standardowych funkcji, ktore moga byc uzywane przez
wszystkie programy C (i czasem przez programy w innych jezykach). Ze
wzgledow historycznych (zob. nizej) uzycie pojecia ,,libc" w
odniesieniu do standardowej biblioteki C jest poniekad niejednoznaczne
w Linuksie.
glibc
Zdecydowanie najpowszechniej uzywana biblioteka C na Linuksie jest
Biblioteka C GNU , czesto okreslana
jako glibc. Jest to biblioteka C, ktora jest obecnie uzywana przez
wszystkie glowne dystrybucje Linuksa. Jest to rowniez biblioteka C,
ktorej szczegoly sa udokumentowane w odpowiednich stronach podrecznika
systemowego projektu man-pages (glownie w sekcji 3). Dokumentacja glibc
jest dostepna rowniez w podreczniku glibc, dostepnym poleceniem info
libc. Wydanie 1.0 glibc mialo miejsce we wrzesniu 1992 roku (wczesniej
istnialy wydania 0.x). Kolejnym glownym wydaniem glibc bylo 2.0 z
poczatku 1997 roku.
Sciezka /lib/libc.so.6 (lub podobna) jest zwykle dowiazaniem
symbolicznym, wskazujacym na polozenie biblioteki glibc, a wykonanie
tej sciezki spowoduje wyswietlenie przez glibc roznych informacji o
wersji zainstalowanej w biezacym systemie.
Linuksowa libc
W pierwszej dekadzie lat 90. istniala przez chwile linuksowa libc,
rozgalezienie glibc 1.x utworzone przez deweloperow Linuksa, ktorzy
stwierdzili, ze rozwoj glibc w tamtym czasie nie odpowiada potrzebom
Linuksa. Czesto okreslano te biblioteke (niejednoznacznie) jako po
prostu ,,libc". Linuksowa libc miala glowne wydania 2, 3, 4 i 5, oraz
wiele pomniejszych wersji tych wydan. Linuksowa libc4 byla ostatnia
wersja uzywajaca binarnego formatu a.out i pierwsza, ktora zapewniala
(prymitywna) obsluge bibliotek dzielonych. Linuksowa libc5 byla
pierwsza wersja obslugujaca format binarny ELF, wersja ta uzywala
soname biblioteki dzielonej libc.so.5. Przez pewien czas, linuksowa
libc byla standardowa biblioteka C w wielu dystrybucjach Linuksa.
Jednak, niezgodnie z pierwotnymi motywami utworzenia linuksowej
biblioteki libc, w chwili wydania glibc 2.0 (w 1997 r.), byla ona
zdecydowania lepsza od linuksowej libc i wszystkie glowne dystrybucje
Linuksa uzywajace linuksowej libc, powrocily do glibc. Aby uniknac
pomylek dotyczacych wersji linuksowej libc, glibc 2.0 i kolejne uzywaja
soname biblioteki dzielonej libc.so.6.
Zmiana z linuksowej libc na glibc 2.0 nastapila dawno temu, dlatego
strony podrecznika systemowego projektu man-pages nie dokumentuja juz
detali linuksowej biblioteki libc. Pomimo tego, historia odcisnela
swoje pietno na kilku stronach podrecznika systemowego z informacjami o
linuksowej libc, w szczegolnosci w odwolaniach do libc4 i libc5.
Inne biblioteki C
Istnieja inne, rzadziej uzywane biblioteki C do Linuksa. Biblioteki te
sa zwykle mniejsze niz glibc, zarowno jesli chodzi o zestaw funkcji jak
i zajetosc pamieci i czesto sa przeznaczonego do budowania malych
plikow wykonywalnych, uzywanych np. do wbudowanych systemow
linuksowych. Sa to miedzy innymi uClibc ,
dietlibc , i musl libc . Szczegoly dotyczace tych bibliotek sa opisywane
przez projekt man-pages tam, gdzie sa znane.
ZOBACZ TAKZE
syscalls(2), getauxval(3), proc(5), feature_test_macros(7),
man-pages(7), standards(7), vdso(7)
TLUMACZENIE
Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Michal
Kulach
Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o
warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public
License w wersji 3 lub
nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI.
Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy
dyskusyjnej .
Linux man-pages 6.9.1 2 maja 2024 r. libc(7)