Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 1|Atsakyti: 0

[Linux] Skirtumai tarp glibc ir musl standartinių bibliotekų Linux aplinkoje

[Kopijuoti nuorodą]
PaskelbtaPrieš 44 sekundes | | | |
musl Linux ir glibc yra du skirtingi C standartinės bibliotekos įgyvendinimai, kurie labai skiriasi keliais aspektais.

Istorija ir naudojimas:

glibc yra vienas iš ankstesnių ir plačiausiai naudojamų C standartinių bibliotekų diegimų, turintis ilgą kūrimo istoriją ir platų bendruomenės palaikymą. Jį priima dauguma "Linux" platinimų, ypač darbalaukio ir serverio aplinkoje.
musl yra palyginti naujas įgyvendinimas, skirtas teikti mažesnes, greitesnes ir saugesnes C bibliotekas. Jį pritaikė kai kurie lengvi Linux platinimai, tokie kaip Alpine Linux.

Savybės ir suderinamumas:

GLBC yra visapusiškas ir sudėtingas, palaikantis daugybę plėtinių ir funkcijų, pasižymintis dideliu stabilumu ir patikimumu.
Nors musl turi mažiau funkcijų, jis griežtai laikosi POSIX standarto ir turi daug mažiau kodo nei glibc, nereikalaujantis jokių papildomų išorinių priklausomybių. MUSL dvejetainis suderinamumas yra ribotas, tačiau išleidus naujas versijas, suderinamumas palaipsniui gerėja.

Našumas ir išteklių naudojimas:

MUSL sukurtas taip, kad būtų lengvas, tinkamas įterptosioms sistemoms ir ribotų išteklių aplinkai ir gali kurti kompaktiškus statinius vykdomuosius failus.
Nors GLBC yra galingas, išteklių naudojimo ir našumo požiūriu jis gali būti ne toks geras kaip MUSL.

Derinimo ir kūrimo palaikymas:

Kadangi glibc yra išsamesnis, jis paprastai rekomenduojamas derinant programą ir ankstyvą kūrimą.
MUSL gali būti ne toks palaikantis kaip GLBC kai kuriuose derinimo įrankiuose (pvz., GDB ir Ltrace).

Leidimai ir bendruomenės parama:

musl naudoja MIT licenciją, kuri yra švelnesnė nei glibc LGPL licencija, todėl lengviau skelbti statinius vykdomuosius failus.
GLBC turi didesnę bendruomenės paramą ir platesnius dokumentacijos išteklius.

Taikymas konkrečiose srityse:

MUSL išsiskiria įterptosiomis sistemomis, konteinerinėmis programomis ir lengvais paskirstymais.
GLBC labiau paplitęs darbalaukio ir serverio aplinkoje, palaikantis daugiau funkcijų ir plėtinių.

Kelių C standartinių bibliotekų skirtumai

1、. Glibc glibc = GNU C biblioteka yra GNU projektas (GNU projektas) ir yra C kalbos standartinės bibliotekos įgyvendinimas. Šiuo metu dauguma GNU/Linux sistemų staliniuose kompiuteriuose ir serveriuose naudoja šią C kalbos standartinę biblioteką. Jis iš tikrųjų įgyvendina įprastas C bibliotekos funkcijas, palaiko daugybę sistemos platformų ir yra gana daug funkcijų, bet taip pat gana didelis ir didelis

2. Musl-libc C kalbos standartinė biblioteka Musl-libc projektas išleido 1.0 versiją. "Musl" yra lengva C standartinė biblioteka, sukurta kaip alternatyva GNU C bibliotekai (glibc), uClibc arba Android Bionic įterptosioms operacinėms sistemoms ir mobiliesiems įrenginiams. Jis atitinka POSIX 2008 specifikaciją ir C99 standartą, naudoja MIT licenciją ir naudoja Musl Linux platinimus ir projektus, įskaitant sabotažą, bootstrap-linux, LightCube OS ir kt.

3. glibc kūrėjai pristatė Embedded glibc, sutrumpintai kaip eglibc, kurio pagrindinis tikslas yra pritaikyti glibc įterptosioms programoms. Didžiausias pokytis yra tai, kad daugiau bibliotekos funkcijų yra konfigūruojamos. Tokiu būdu, jei jums nereikia tam tikrų funkcijų jūsų įterptinėje sistemoje, galite jas apkarpyti nekompiliuodami jų į savo eglibc biblioteką, sumažindami galutinės sugeneruotos eglibc bibliotekos dydį ir atitikdami įterptinės sistemos reikalavimus (neviršijant tam tikro dydžio). Tokiu būdu galite naudoti glibc įterptinės sistemos tikslais.

4. uClibc yra nedidelė C kalbos standartinė biblioteka, daugiausia naudojama įterptinėms sistemoms. Iš pradžių jis buvo sukurtas uClinux (pastaba: uClinux nepalaiko MMU), todėl labiau tinka mikroprocesoriams. Atitinkamai, čia "u" reiškia μ, mikro arba "mažytį". uClibc savybės: (1) uClibc yra daug mažesnis nei glibc. (2) uClibc yra nepriklausomas, visiškai iš naujo įdiegtas naudoti įterptinėse sistemose. Jis nesuderinamas su glibc tiek šaltinio kodo struktūroje, tiek dvejetainėje sistemoje.

Žemiau esančioje lentelėje pateikiami skirtingų libc bibliotekų sudaryti failų dydžiai.





Ankstesnis:.NET/C#, kad nustatytumėte "Windows Server" energijos vartojimo strategiją į didelio našumo režimą
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com