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