Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 1|Atbildi: 0

[Linux] Atšķirības starp glibc un musl standarta bibliotēkām Linux vidē

[Kopēt saiti]
PublicētsPirms 44 sekundēm | | | |
musl Linux un glibc ir divas dažādas C standarta bibliotēkas ieviešanas, un tās ievērojami atšķiras vairākos aspektos.

Vēsture un lietošana:

glibc ir viena no agrākajām un visplašāk izmantotajām C standarta bibliotēku implementācijām ar ilgu izstrādes vēsturi un plašu kopienas atbalstu. To pieņem lielākā daļa Linux izplatījumu, īpaši darbvirsmas un serveru vidē.
musl ir salīdzinoši jauna ieviešana, kas paredzēta, lai nodrošinātu mazākas, ātrākas un drošākas C bibliotēkas. To ir pieņēmuši daži vieglie Linux izplatījumi, piemēram, Alpine Linux.

Funkcijas un saderība:

GLBC ir visaptverošs un sarežģīts, atbalstot vairākus paplašinājumus un funkcijas ar augstu stabilitāti un uzticamību.
Lai gan musl ir mazāk funkciju, tas stingri ievēro POSIX standartu un tam ir daudz mazāk koda nekā glibc, neprasot papildu ārējās atkarības. MUSL binārā saderība ir ierobežota, bet, izlaižot jaunas versijas, saderība pakāpeniski uzlabojas.

Veiktspēja un resursu izmantošana:

MUSL ir izstrādāts tā, lai tas būtu viegls, piemērots iegultām sistēmām un vidēm ar ierobežotiem resursiem, un var izveidot kompaktus statiskus izpildāmus failus.
Lai gan GLBC ir spēcīgs, resursu izmantošanas un veiktspējas ziņā tas var nebūt tik labs kā MUSL.

Atkļūdošanas un izstrādes atbalsts:

Tā kā glibc ir visaptverošāks, tas parasti ir ieteicams lietojumprogrammu atkļūdošanas un agrīnās izstrādes laikā.
MUSL var nebūt tik atbalstošs kā GLBC dažos atkļūdošanas rīkos (piemēram, GDB un Ltrace).

Atļaujas un kopienas atbalsts:

musl izmanto MIT licenci, kas ir saudzīgāka nekā glibc LGPL licence, atvieglojot statisko izpildāmo failu publicēšanu.
GLBC ir lielāks kopienas atbalsts un plašāki dokumentācijas resursi.

Pieteikumi konkrētās jomās:

MUSL izceļas ar iegultajām sistēmām, konteinerizētām lietojumprogrammām un viegliem izplatījumiem.
GLBC ir biežāk sastopams darbvirsmas un serveru vidē, atbalstot vairāk funkciju un paplašinājumu.

Atšķirības starp vairākām C standarta bibliotēkām

1、. Glibc glibc = GNU C bibliotēka ir GNU projekts (GNU projekts) un ir C valodas standarta bibliotēkas ieviešana. Pašlaik lielākā daļa GNU/Linux sistēmu galddatoros un serveros izmanto šo C valodas standarta bibliotēku. Tas faktiski īsteno parastās C bibliotēkas funkcijas, atbalsta daudzas sistēmas platformas un ir diezgan bagāts ar funkcijām, bet arī salīdzinoši apjomīgs un liels

2. Musl-libc C valodas standarta bibliotēka Musl-libc projekts ir izlaidis versiju 1.0. Musl ir viegla C standarta bibliotēka, kas izstrādāta kā alternatīva GNU C bibliotēkai (glibc), uClibc vai Android Bionic iegultajām operētājsistēmām un mobilajām ierīcēm. Tas atbilst POSIX 2008 specifikācijai un C99 standartam, izmanto MIT licenci un izmanto Musl Linux izplatīšanu un projektus, tostarp sabotāžu, bootstrap-linux, LightCube OS un citus.

3. glibc izstrādātāji ir uzsākuši Embedded glibc, saīsināti kā eglibc, kura galvenais mērķis ir piemērot glibc iegultajām lietojumprogrammām. Lielākās izmaiņas ir padarīt konfigurējamas vairāk bibliotēkas funkciju. Tādā veidā, ja jums nav nepieciešamas noteiktas funkcijas jūsu iegultajā sistēmā, jūs varat tās apgriezt, nekompilējot tās savā eglibc bibliotēkā, samazinot gala ģenerētās eglibc bibliotēkas lielumu un apmierinot jūsu iegultās sistēmas prasības (nepārsniedzot noteiktu lielumu). Tādā veidā jūs varat izmantot glibc iegultās sistēmas vajadzībām.

4. uClibc ir neliela C valodas standarta bibliotēka, ko galvenokārt izmanto iegultajām sistēmām. Sākotnēji tas tika izstrādāts uClinux (piezīme: uClinux neatbalsta MMU), tāpēc tas ir vairāk piemērots mikroprocesoriem. Attiecīgi šeit "u" apzīmē μ, mikro vai "mazs". uClibc iezīmes: (1) uClibc ir daudz mazāks nekā glibc. (2) uClibc ir neatkarīgs, pilnībā atkārtoti ieviests izmantošanai iegultās sistēmās. Tas nav saderīgs ar glibc gan avota koda struktūrā, gan binārā.

Zemāk esošajā tabulā ir parādīti failu izmēri, ko apkopojušas dažādas libc bibliotēkas.





Iepriekšējo:.NET/C#, lai iestatītu Windows Server enerģijas politiku augstas veiktspējas režīmā
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com