glibc je implementace standardní knihovny jazyka C v rámci projektu GNU. Je to v podstatě „překladatel“, který umožňuje programům napsaným v C (a mnoha dalších jazycích) komunikovat s jádrem Linuxu.
Téměř každý program v Linuxu (od příkazového řádku až po složité grafické aplikace) závisí na glibc.
Knihovna poskytuje základní systémová volání (syscalls) a standardní funkce, jako jsou:
glibc implementuje standardy jako POSIX a ANSI C. To znamená, že kód napsaný podle těchto standardů bude fungovat na různých systémech, pokud mají nainstalovanou kompatibilní verzi glibc.
Vývojáři glibc kladou extrémní důraz na to, aby staré programy běžely i na nových verzích knihovny. Pokud však zkompilujete program na velmi nové verzi glibc, pravděpodobně nepůjde spustit na starším systému (častá chyba: version GLIBC_X.XX not found).
Obsahuje vysoce optimalizované matematické funkce a rutiny pro práci s pamětí, které jsou šité na míru moderním procesorům (využívají instrukce jako AVX nebo SSE).
Ačkoliv je glibc v Linuxu dominantní, existují alternativy pro specifické účely:
| Knihovna | Hlavní využití | Vlastnosti |
|---|---|---|
| glibc | Standardní desktop a servery | Robustní, velká, plná funkcí. |
| musl | Odlehčené distribuce (Alpine Linux) | Malá, rychlá, statické linkování. |
| uClibc | Vestavěné systémy (Embedded) | Minimalistická, pro routery a IoT. |
V kontextu hraní na Linuxu je glibc kritická. Některé anticheatovací systémy nebo mody vyžadují specifické úpravy nebo verze glibc. Například Valve úzce spolupracuje na optimalizaci glibc, aby snížili režii při spouštění her přes vrstvu Proton.
—
Zajímavost: glibc je tak hluboko v systému, že její aktualizace je jedním z nejrizikovějších úkonů v Linuxové distribuci. Pokud se aktualizace nepovede, systém se obvykle ani nespustí.