Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 1|Odgovoriti: 0

[linux] Razlike med standardnimi knjižnicami glibc in musl v Linux okolju

[Kopiraj povezavo]
Objavljeno naPred 44 sekundami | | | |
musl Linux in glibc sta dve različni implementaciji standardne knjižnice C in se v več pogledih bistveno razlikujeta.

Zgodovina in uporaba:

glibc je ena izmed zgodnejših in najbolj razširjenih implementacij knjižnic v C standardu, z dolgo razvojno zgodovino in široko podporo skupnosti. Uporablja ga večina Linux distribucij, zlasti v namiznih in strežniških okoljih.
musl je razmeroma nova implementacija, zasnovana za zagotavljanje manjših, hitrejših in varnejših C knjižnic. Nekatere lahke Linux distribucije, kot je Alpine Linux, so jo sprejele.

Lastnosti in združljivost:

GLBC je celovit in kompleksen, podpira več razširitev in funkcij ter ima visoko stabilnost in zanesljivost.
Čeprav ima musl manj funkcij, strogo sledi standardu POSIX in ima bistveno manj kode kot glibc, zato ne zahteva dodatnih zunanjih odvisnosti. Binarna združljivost MUSL je omejena, vendar se z izdajo novih različic združljivost postopoma izboljšuje.

Zmogljivost in poraba virov:

MUSL je zasnovan tako, da je lahek, primeren za vgrajene sisteme in okolja z omejenimi viri, ter lahko ustvarja kompaktne statične izvršljive datoteke.
Čeprav je GLBC zmogljiv, morda ni tako dober kot MUSL glede porabe virov in zmogljivosti.

Odpravljanje napak in podpora razvoju:

Ker je glibc bolj celovit, se običajno priporoča med odpravljanjem napak in zgodnjim razvojem.
MUSL morda ni tako podporen kot GLBC v nekaterih orodjih za odpravljanje napak (kot sta GDB in Ltrace).

Dovoljenja in podpora skupnosti:

Musl uporablja licenco MIT, ki je bolj popustljiva kot licenca LGPL na glibc, kar olajša objavo statičnih izvršljivih datotek.
GLBC ima večjo podporo skupnosti in širše dokumentacijske vire.

Uporaba na določenih področjih:

MUSL izstopa v vgrajenih sistemih, kontejneriziranih aplikacijah in lahkih distribucijah.
GLBC je pogostejši v namiznih in strežniških okoljih, saj podpira več funkcij in razširitev.

Razlike med več knjižnicami v C standardu

1、. Glibc glibc = GNU C knjižnica je GNU projekt (GNU projekt) in predstavlja implementacijo standardne knjižnice jezika C. Trenutno večina GNU/Linux sistemov na namizjih in strežnikih uporablja to standardno knjižnico jezika C. Dejansko implementira običajne funkcije knjižnic v C, podpira številne sistemske platforme in je precej bogat s funkcijami, a tudi razmeroma obsežen in obsežen

2. Projekt Musl-libc jezikovne standardne knjižnice Musl-libc je izdal različico 1.0. Musl je lahka knjižnica v C standardu, zasnovana kot alternativa knjižnici GNU C (glibc), uClibc ali Android Bionic za vgrajene operacijske sisteme in mobilne naprave. Sledi specifikaciji POSIX 2008 in standardu C99, uporablja licenco MIT ter uporablja Muslove Linux distribucije in projekte, vključno s sabotažem, bootstrap-linuxom, operacijskim sistemom LightCube in drugimi.

3. Razvijalci glibc so lansirali vgrajeni glibc, okrajšano eglibc, katerega glavni namen je uporaba glibc v vgrajenih aplikacijah. Največja sprememba je, da je več knjižničnih funkcij nastavljivih. Na ta način, če določenih funkcij v vgrajenem sistemu ne potrebujete, jih lahko obrežete, ne da bi jih prevajali v knjižnico eglibc, s čimer zmanjšate velikost končno generirane knjižnice eglibc in izpolnite zahteve vgrajenega sistema (ne presežejo določene velikosti). Na ta način lahko glibc uporabite za namene vgrajenih sistemov.

4. uClibc je majhna knjižnica standardov v jeziku C, ki se večinoma uporablja za vgrajene sisteme. Prvotno je bil zasnovan za uClinux (opomba: uClinux ne podpira MMU), zato je bolj primeren za mikroprocesorje. Tukaj 'u' pomeni μ, Mikro ali 'majhen'. Značilnosti uClibc: (1) uClibc je veliko manjši od glibc. (2) uClibc je neodvisen, popolnoma ponovno implementiran za uporabo v vgrajenih sistemih. Ni združljiv z glibc tako v strukturi izvorne kode kot v binarni obliki.

Spodnja tabela prikazuje velikosti datotek, prevedene v različne knjižnice libc.





Prejšnji:.NET/C# za nastavitev politike napajanja Windows Serverja na način visoke zmogljivosti
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com