Saadaval on standardne C-raamatukogu PicoLibc 1.1

Keith Packard, aktiivne Debian'i arendaja, X.Org projekti juht ja paljude X-laienduste, sealhulgas XRender, XComposite ja XRandR looja, esitles uueks standardseks C-raamatukogu vĂ€ljaanne PicoLibc 1.1, mida arendatakse rakendamiseks sisseehitatud seadmetes, millel on piiratud pĂŒsivĂ€li ja juhtmĂ€lule. Arendamise kĂ€igus on osa koodist laenatud teegist newlib projekti Cygwin'ist ja AVR Libc, mis on arendatud Atmeli AVR mikrokontrolleritele. PicoLibci kood levitatakse on BSD litsentsi all. Teegi toimetamine toetab arhitektuure ARM (32-bit), i386, RISC-V, x86_64 ja PowerPC.

Kit Packard alustas arendustööd pĂ€rast seda, kui ta ei leidnud sobivat versiooni Libc, mida oleks vĂ”imalik kasutada vĂ€ikese RAM-iga integreeritud seadmetes. Projekt on arenenud alates eelmisest aastast. Esialgu oli projekt variant newlib'ist, kus stdio funktsioonid asendati avrlibc kompaktse versiooniga (newlib'i stdio ei sobinud suure ressursitarbimise tĂ”ttu). Kuna Kiti praegune tegevus on konstantne töö RISC-V arhitektuuriga ja tööriistade arendamine integreeritud seadmetele, on ta hiljuti ĂŒle vaadanud libc rakenduste seisundi ja jĂ€reldanud, et vĂ€ikese tĂ€iendusega newlib ja avrlibc kombinatsioon vĂ”ivad olla head universaalsed lahendused. Alguses arenes projekt nime all "newlib-nano", kuid segaduse vĂ€ltimiseks Newlib raamatukoguga nimetati see ĂŒmber PicoLibc-ks.

Praeguses seisus on Picolibc's juba tehtud tööd BSD litsentsi alla mitte kuuluvate koodide eemaldamiseks (see kood ei olnud kasutusel integreeritud seadmete ehitamisel), mis on oluliselt lihtsustanud projekti litsentsitingimusi. Kohalikud vood on viidud 'struct _reent' struktuurilt TLS mehhanismi (thread-local storage). Compact stdio versioon, mis on laenatud avrlibc koodi, on vaikimisi aktiveeritud (ATmel spetsiifilised assembleri sisendid on kirjutatud ĂŒmber C keeles). Ehituses on kasutatud Meson tööriistu, mis vĂ”imaldas mitte siduda newlib'i ehitusstsenaariume ning lihtsustada muudatuste ĂŒlekandmist newlib'ist. Lisatud on lihtsustatud initsialiseerimise koodi variant (crt0), mis on kinnitatud tĂ€idetavale failile ja mille tĂ€itmine toimub enne peamise funktsiooni main() juhtimise ĂŒleandmist.

Picolibc 1.1 versioonis:

  • Lisatud abiraamat koko jaoks „semihosting«, mis vĂ”imaldab debugeerija vĂ”i emulaatori keskkonnas töötaval koodil kasutada host-sĂŒsteemi sisendi/vĂ€ljundi mehhanisme;
  • SĂŒsteemide jaoks, mis toetavad open, close, read ja write sĂŒsteemi kĂ”nesid, on tinystdio'sse lisatud standardiseeritud POSIX-i stdio sisendi/vĂ€ljundi liidesed, sealhulgas fopen ja fdopen funktsioonid, samuti stdin/out/err sidumine POSIX-failidesse;
  • Viimased muudatused on viidud ĂŒle newlib koodibaasi. Sealhulgas on lisatud libm paikapidavad fenv.h, mida saab kasutada sĂŒsteemides, mis ei toeta ujuvpunkte;
  • Lisatud rakenduse "Tere maailm" nĂ€ide picolibc-ga ARM ja RISC-V sĂŒsteemidele;
  • Eemaldatud kataloogid newlib, libm ja mathfp, milles sisaldus kasutamata eksperimenteeritud kood.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster