Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 1|Odpověď: 0

[linux] Rozdíly mezi standardními knihovnami glibc a musl v linuxovém prostředí

[Kopírovat odkaz]
ZveřejněnoPřed 44 sekundami | | | |
musl Linux a glibc jsou dvě různé implementace standardní knihovny C a v několika ohledech se výrazně liší.

Historie a využití:

glibc je jednou z prvních a nejpoužívanějších implementací C standardních knihoven, s dlouhou vývojovou historií a širokou podporou komunity. Většina linuxových distribucí jej přijímá, zejména v desktopových a serverových prostředích.
musl je relativně nová implementace navržená tak, aby poskytovala menší, rychlejší a bezpečnější knihovny v C. Byl přijat některými lehkými linuxovými distribucemi, například Alpine Linux.

Funkce a kompatibilita:

GLBC je komplexní a složité, podporuje více rozšíření a funkcí, s vysokou stabilitou a spolehlivostí.
Ačkoliv musl má méně funkcí, přísně dodržuje standard POSIX a má mnohem méně kódu než glibc, takže nevyžaduje žádné další externí závislosti. Binární kompatibilita MUSL je omezená, ale s vydáním nových verzí se kompatibilita postupně zlepšuje.

Výkon a využití zdrojů:

MUSL je navržen tak, aby byl lehký, vhodný pro vestavěné systémy a prostředí s omezenými zdroji, a dokáže vytvářet kompaktní statické spustitelné soubory.
Ačkoliv je GLBC výkonné, nemusí být tak dobré jako MUSL z hlediska využití zdrojů a výkonu.

Ladění a podpora vývoje:

Protože je glibc komplexnější, obvykle se doporučuje během ladění aplikací a raného vývoje.
MUSL nemusí být tak podporující jako GLBC v některých ladicích nástrojích (například GDB a Ltrace).

Povolení a podpora komunity:

musl používá licenci MIT, která je shovívavější než licence LGPL od glibc, což usnadňuje publikování statických spustitelných souborů.
GLBC má větší podporu komunity a širší zdroje dokumentace.

Aplikace v konkrétních oborech:

MUSL vyniká v vestavěných systémech, kontejnerových aplikacích a lehkých distribucích.
GLBC je běžnější v desktopových a serverových prostředích, kde podporuje více funkcí a rozšíření.

Rozdíly mezi několika knihovnami ve standardu C

1、. Glibc glibc = GNU C Library je projekt GNU (GNU Project) a je implementací standardní knihovny jazyka C. V současnosti většina GNU/Linux systémů na desktopech a serverech používá tuto standardní knihovnu jazyka C. Ve skutečnosti implementuje běžné funkce knihovny v C, podporuje mnoho systémových platforem a je poměrně bohatý na funkce, ale také poměrně objemný a rozsáhlý

2. Projekt Musl-libc jazykové standardní knihovny Musl-libc vydal verzi 1.0. Musl je lehká knihovna pro standard C navržená jako alternativa k knihovně GNU C (glibc), uClibc nebo Android Bionic pro vestavěné operační systémy a mobilní zařízení. Řídí se specifikací POSIX 2008 a standardem C99, používá licenci MIT a využívá linuxové distribuce a projekty Musl včetně sabotage, bootstrap-linux, LightCube OS a dalších.

3. Vývojáři glibc spustili Embedded glibc, zkráceně eglibc, jehož hlavním účelem je aplikovat glibc na vestavěné aplikace. Největší změnou je udělat více knihovních funkcí konfigurovatelných. Tímto způsobem, pokud některé funkce ve vestavěném systému nepotřebujete, můžete je ořezat, aniž byste je museli kompilovat do knihovny eglibc, čímž se zmenší velikost konečné generované knihovny eglibc a splní požadavky vestavěného systému (nepřesahující určitou velikost). Tímto způsobem můžete glibc použít pro účely vestavěných systémů.

4. uClibc je malá knihovna standardů jazyka C, která se používá hlavně pro vestavěné systémy. Původně byl navržen pro uClinux (poznámka: uClinux nepodporuje MMU), takže je vhodnější pro mikroprocesory. Odpovídajícím způsobem zde 'u' znamená μ, Mikro nebo 'malý'. Vlastnosti uClibc: (1) uClibc je mnohem menší než glibc. (2) uClibc je nezávislý, zcela znovu implementovaný pro použití ve vestavěných systémech. Je nekompatibilní s glibc jak ve struktuře zdrojového kódu, tak v binárním kódu.

Tabulka níže ukazuje velikosti souborů zkompilované různými knihovnami libc.





Předchozí:.NET/C# pro nastavení politiky napájení Windows Server do režimu vysokého výkonu
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com