glibc (GNU C Library)

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.

Hlavní funkce glibc

Knihovna poskytuje základní systémová volání (syscalls) a standardní funkce, jako jsou:

Práce se soubory: Otevírání, čtení, zápis (open, read, write).

Správa paměti: Alokace a uvolňování paměti (malloc, free).

Vstup a výstup (I/O): Práce s textem na obrazovce (printf, scanf).

Síťová komunikace: Práce se sockety a protokoly.

Práce s časem: Zjišťování systémového času a datumů.

Vlákna (Threading): Podpora pro paralelní běh programů (POSIX threads).

Proč je glibc tak důležitá?

1. Standardizace (POSIX)

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.

2. Zpětná kompatibilita

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).

3. Výkon

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).

Srovnání: glibc vs. ostatní C knihovny

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.

glibc a herní průmysl (Steam Deck / Proton)

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í.

Související: GNU, Linux, GCC, DevOps