Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 1|Válasz: 0

[linux] Különbségek a glibc és musl standard könyvtárak között a Linux környezetben

[Linket másol]
Közzétéve44 másodperccel ezelőtt | | | |
a musl Linux és a glibc a C standard könyvtár két különböző megvalósítása, és több szempontból jelentősen eltérnek.

Történelem és használat:

a glibc az egyik legkorábbi és legszélesebb körben használt C standard könyvtár megvalósítás, hosszú fejlesztési múlttal és széles körű közösségi támogatással. A legtöbb Linux disztribúcióban alkalmazza, különösen asztali és szerver környezetekben.
a musl egy viszonylag új implementáció, amely kisebb, gyorsabb és biztonságosabb C könyvtárakat biztosít. Néhány könnyű Linux disztribúcióban is átvette, például az Alpine Linux.

Jellemzők és kompatibilitás:

A GLBC átfogó és összetett, több kiterjesztést és funkciót támogat, magas stabilitással és megbízhatósággal.
Bár a musl-nak kevesebb funkciója van, szigorúan követi a POSIX szabványt, és sokkal kevesebb kódot tartalmaz, mint a glibc, így nincs szükség további külső függőségre. A MUSL bináris kompatibilitása korlátozott, de az új verziók megjelenésével a kompatibilitás fokozatosan javul.

Teljesítmény és erőforrás-felhasználás:

A MUSL-t könnyű rendszernek tervezték, alkalmas beágyazott rendszerekhez és erőforrás-korlátozott környezetekhez, és kompakt, statikus futtatható fájlokat tud létrehozni.
Bár a GLBC erős, erőforrás-felhasználás és teljesítmény tekintetében nem feltétlenül olyan jó, mint a MUSL.

Hibakeresés és fejlesztési támogatás:

Mivel a glibc átfogóbb, általában alkalmazáshibakeresés és korai fejlesztés során ajánlják.
A MUSL néhány hibakereső eszközben (például GDB és Ltrace) nem feltétlenül támogató, mint a GLBC.

Engedélyek és közösségi támogatás:

a musl az MIT licencet használja, amely engedékenyebb, mint a glibc LGPL licence, így könnyebb a statikus futtatható fájlok közzététele.
A GLBC nagyobb közösségi támogatással és szélesebb dokumentációs forrásokkal rendelkezik.

Alkalmazások bizonyos területeken:

A MUSL kiválóan teljesít beágyazott rendszerekben, konténeres alkalmazásokban és könnyűsúlyú disztribúciókban.
A GLBC gyakoribb asztali és szerver környezetekben, több funkciót és kiterjesztést támogat.

Különbségek több C-standard könyvtár között

1、. A glibc glibc = GNU C Könyvtár egy GNU projekt (GNU Project), amely a C nyelvi szabványos könyvtár megvalósítása. Jelenleg a legtöbb GNU/Linux rendszer asztali és szervereken ezt a C nyelvi szabványos könyvtárat használja. Valójában általános C könyvtár funkciókat valósít meg, sok rendszerplatformot támogat, meglehetősen funkciókkal gazdag, de viszonylag masszív és nagy

2. A Musl-libc C nyelvi szabványkönyvtár, a Musl-libc projekt kiadta az 1.0-s verziót. A Musl egy könnyű C szabványú könyvtár, amelyet alternatívaként terveztek a GNU C könyvtár (glibc), uClibc vagy Android Bionic helyett beágyazott operációs rendszerekhez és mobil eszközökhöz. Követi a POSIX 2008 specifikációt és a C99 szabványt, az MIT licencet használja, és használja a Musl Linux disztribúcióit és projektjeit, beleértve a szabotázst, bootstrap-linuxot, LightCube OS-t és még sok mást.

3. A glibc fejlesztői elindították az Embedded glibc-t, rövidítve eglibc-t, amelynek fő célja a glibc alkalmazása beágyazott alkalmazásokban. A legnagyobb változás, hogy több könyvtári funkciót konfigurálhatsz. Így, ha nincs szükséged bizonyos funkciókra az ágyazott rendszeredben, akkor azokat levághatod anélkül, hogy az eglibc könyvtárba fordítanád őket, így csökkentve a végleges generált eglibc könyvtár méretét, és megfelelve a beágyazott rendszer követelményeinek (nem haladva meg egy bizonyos méretet). Így használhatod a glibc-et beágyazott rendszercélokra.

4. uClibc egy kis C nyelvű szabványos könyvtár, amelyet főként beágyazott rendszerekhez használnak. Eredetileg uClinuxhoz tervezték (megjegyzés: az uClinux nem támogatja az MMU-t), így inkább mikroprocesszorokhoz alkalmas. Ennek megfelelően itt az 'u' a μ, Micro vagy 'picike' szavakat jelenti. Az uClibc jellemzői: (1) uClibc sokkal kisebb, mint a glibc. (2) az uClibc független, teljesen újraimplementálva beágyazott rendszerekben való használatra. Sem forráskód, sem bináris szerkezetben nem kompatibilis a glibc-vel.

Az alábbi táblázat a különböző libc könyvtárak által fordított fájlméreteit mutatja.





Előző:.NET/C# a Windows Server teljesítménypolitikájának nagy teljesítményű módra állításához
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com