PicoLibc ọbá akwụkwọ C maka usoro agbakwunyere na obere akụrụngwa

Agbakwunyere-C-

Keith Packard bụ onye nrụpụta ọrụ Debian ọ bụkwa ya X.Org onye ndu oru ngo na nakwa okike nke ọtụtụ X ndọtị, gụnyere XRender, XComposite, na XRandR. PicoLibc bụ ihe ọzọ nke ọrụ ya na nke a bụ a n'ọbá akwụkwọ C nke mepụtara maka ojiji na agbakwunyere ngwaọrụ nwere oke ego (ya bụ, ha nwere obere nchekwa nchekwa na RAM). N'oge mmepe, e binyere ụfọdụ koodu ahụ na ọba akwụkwọ newlib nke Cygwin na AVR Libc, nke emepụtara maka ndị na-achịkwa microsoft na Atmel AVR.

Keith Packard malitere mmepe mgbe ọ na - enweghị ike ịchọta ụdị ezigbo Libc, nke enwere ike iji ya na ngwaọrụ agbakwunyere RAM. Ihe oru ngo a na-emepe kemgbe afọ gara aga. Na nke mbụ, ngo a di otutu ohuru, nke a na - eji dochie ọrụ stdio site na kọmpụta nke avrlibc (stdio na newlib adịghị emegharị maka oke oriri nke ihe onwunwe).

Ebe ọ bụ na ihe ndị China na-eme ugbu a metụtara ọrụ na-aga n'ihu na RISC-V ije na mmepe nke ngwaọrụ maka ngwaọrụ agbakwunyere, n'oge na-adịbeghị anya enyocha ọnọdụ nke mmemme libc y kwubiri nke gini, jiri obere tweak, nchikota nke newlib na avrlibc nwere ike ịbụ ezigbo azịza zuru ụwa ọnụ. Na mbu, emeputara oru a n'okpuru aha "newlib-nano", mana iji zere mgbagwoju anya na oba akwukwo Newlib, e deghariri ya na PicoLibc.

Banyere PicoLibc

Na ụdị ya ugbu a, Picolibc arụworị ọrụ iji wepu koodu niile na-enyeghị n'okpuru ikikere BSD (Ejighi koodu a na nzukọ maka ngwaọrụ agbakwunyere), nke mere ka ọnọdụ dị mfe nke ọma na ikikere oru ngo.

Ebuputala usoro oru site na 'struct _reent' gaa na TLS (nchekwa mpaghara ebe nchekwa). A na-arụ ọrụ nke stdio nke ndabara na ndabara, wepụtara na koodu ọbá akwụkwọ avrlibc (a na-edegharị ihe ntinye aka ATmel na C).

Ngwaọrụ nke Meson na-eji maka chịkọtara, Kedu na-enye gị ohere ịghara itinye akwụkwọ edemede newlib ma mee ka ịfefe mgbanwe site na newlib dị mfe. Agbakwunyere nsụgharị dị mfe nke koodu mmalite (crt0), tinye ya na faịlụ a na-eme, ma gbuo ya tupu ịnyefee njikwa na isi () ọrụ.

A na-ekesa koodu iyi nke PicoLibc n'okpuru ikikere BSD na ọba akwụkwọ ahụ kwadoro ARM (32-bit), i386, RISC-V, x86_64, na ụlọ ọrụ PowerPC.

Banyere ụdị ọhụrụ nke PicoLibc 1.1

Emechara m gosipụta mbipute nke PicoLibc 1.1 ọhụrụ, nke dị na ya agbakwunyela ọbá akwụkwọ na-enyere aka ịkwado teknụzụ nke ọkara, A na-enye ohere koodu na-agba ọsọ na nbipu ma ọ bụ emulator gburugburu iji jiri usoro ntinye / ntinye si usoro nnabata.

Maka sistemụ na-akwado emeghe, mechie, gụọ, ma dee usoro oku, tinystdio na-agbakwunye usoro POSIX I / O tozuru etozu, gụnyere ọrụ mmepe na ọrụ fdopen, yana njikọta nke stdin / stdout / stderr na ndị nkọwapụta nkọwapụta POSIX.

  • Emeela mgbanwe ndị dị ugbu a site na koodu koodu newlib ahụ. Gụnyere mkpokọta libm ndị ọzọ maka fenv.h, enwere ike iji ya na sistemụ na enweghị nkwado ngụkọta.
  • Agbakwunyere ihe Ndekọ ngwa nke Hello World na picolibc maka usoro ARM na RISC-V, na mgbakwunye na iwepu akwụkwọ ndekọ ọhụụ, libm, na mathfp nke nwere koodu nnwale a na-ejighị.

Malite iji Picolibc

Iji malite na Picolibc, ị kwesịrị ịma na Picolibc na-eji usoro meson iji chịkọta maka ngwaike ngwaike dị iche iche na Linux na-eji GCC. Ọ bụ ya mere ha ga-eji nwee meson dịka akụkụ nke gburugburu mmepe, na mgbakwunye itinye Python 3 na Ninja. Maka nke a ị nwere ike ịkpọ ndụmọdụ ya Na njikọ na-esonụ. 

N'ikpeazụ, iji nweta koodu Picolibc, ị nwere ike ime ya na njikọ ndị na-esonụ, ebe ị ga-ahụ akwụkwọ ndị dị mkpa. 

Ma obu n'otu uzo ha nwere ike icho ntuziaka na-esonụ achọtara m na net ma nwee ozi zuru ezu.


Ọdịnaya nke isiokwu agbaso ụkpụrụ anyị nke ụkpụrụ nduzi. Kpesa mmejọ pịa ebe a.

Bụrụ onye mbụ ịza ajụjụ

Hapu okwu gi

Adreesị email gị agaghị bipụtara. Chọrọ ubi na-akara na *

*

*

  1. Rụ ọrụ maka data: Miguel Ángel Gatón
  2. Nzube nke data: Nchịkwa SPAM, njikwa okwu.
  3. Ikike: Nkwenye gị
  4. Nkwurịta okwu nke data: Agaghị agwa ndị ọzọ data ahụ ma ọ bụghị site na iwu.
  5. Nchekwa data: Ebe nchekwa data nke Occentus Networks (EU) kwadoro
  6. Ikike: Oge obula inwere ike igbachi, weghachite ma hichapụ ihe omuma gi.