Biblioteka standarde C PicoLibc 1.1 është e disponueshme

Keith Packard, zhvillues aktiv i Debian, lider i projektit X.Org dhe krijues i shumë zgjerimeve X, përfshirë XRender, XComposite dhe XRandR, paraqiti lëshimi i bibliotekës standarde të re C PicoLibc 1.1, e cila po zhvillohet për përdorim në pajisje të integruara me hapësirë të kufizuar ruajtjeje dhe memorie të përkohshme. Gjatë zhvillimit, një pjesë e kodit u mor nga biblioteka newlib nga projekti Cygwin dhe AVR Libc, e zhvilluar për mikro-kontrollerët Atmel AVR. Kodi i PicoLibc shpërndahet është nën licencën BSD. Mbështetet ndërtimi i bibliotekës për arkitekturat ARM (32-bit), i386, RISC-V, x86_64 dhe PowerPC.

Keith Packard filloi zhvillimin pasi nuk mundi të gjejë një variant të denjës Libc, që mund të përdorej në pajisje të integruara me RAM të vogël. Projekti po zhvillohet që nga viti i kaluar. Në fazën e parë, projekti përbënte një variant të newlib, në të cilin funksionet stdio u zëvendësuan me një variant kompakt nga avrlibc (stdio në newlib nuk e përmbushte kërkesat për përdorimin e burimeve). Pasi aktiviteti aktual i Keith është i lidhur me punën e vazhdueshme me arkitekturën RISC-V dhe zhvillimin e mjeteve për pajisje të integruara, ai rishtazi shqyrtoi gjendjen e realizimeve të libc dhe arriti në përfundimin se me disa përmirësime, kombinimi i newlib dhe avrlibc mund të bëhet një zgjidhje e mirë universale. Fillimisht, projekti u zhvillua nën emrin 'newlib-nano', por për të shmangur konfuzionin me bibliotekën Newlib, u riemërua në PicoLibc.

NĂ« formĂ«n aktuale, nĂ« Picolibc Ă«shtĂ« pĂ«rfunduar puna pĂ«r tĂ« hequr tĂ« gjithĂ« kodin qĂ« nuk ofrohet nĂ«n licencĂ«n BSD (ky kod nuk u pĂ«rdor gjatĂ« ndĂ«rtimit pĂ«r pajisje tĂ« integruara), çka e thjeshtoi ndjeshĂ«m situatĂ«n me licencĂ«n e projektit. Implementimi i rrjedhave lokale Ă«shtĂ« kaluar nga 'struct _reent' nĂ« mekanizmin TLS (ruajtjes lokale tĂ« thread-eve). Aktivizimi nga e drejta Ă«shtĂ« bĂ«rĂ« me variantin e kompakt tĂ« stdio, i marrĂ« nga kodi i bibliotekĂ«s avrlibc (tĂ« gjitha pĂ«rforcimet nĂ« assembler specifike pĂ«r ATmel janĂ« ripershtatur nĂ« C). PĂ«r ndĂ«rtimin Ă«shtĂ« pĂ«rdorur mjeti Meson, i cili lejon tĂ« mos lidhet me skenarĂ«t e ndĂ«rtimit tĂ« newlib dhe tĂ« thjeshtojĂ« transferimin e ndryshimeve nga newlib. ËshtĂ« shtuar njĂ« variant i thjeshtuar i kodit tĂ« inicializimit (crt0), i lidhur me skedarin ekzekutiv dhe i kryer pĂ«rpara se t'i kalojĂ« kontrollin funksionit main().

NĂ« versionin Picolibc 1.1:

  • Shtuar njĂ« bibliotekĂ« ndihmĂ«se pĂ«r tĂ« mbĂ«shtetur teknologjinĂ« 'semihosting«, e cila i lejon kodit, qĂ« ekzekutohet nĂ« njĂ« mjedis debuguese ose emulatori, tĂ« pĂ«rdorĂ« mekanizmat e hyrjes/daljes tĂ« sistemit host;
  • PĂ«r sistemet qĂ« mbĂ«shtesin thirrjet sistemore open, close, read dhe write, nĂ« tinystdio janĂ« shtuar interface tĂ« standardizuara tĂ« hyrjes/daljes POSIX, pĂ«rfshirĂ« funksionet fopen dhe fdopen, si dhe lidhja stdin/stdout/stderr me deshifikues tĂ« caktuar nĂ« POSIX;
  • JanĂ« transferuar ndryshimet e fundit nga baza e kodit newlib. NdĂ«r to janĂ« shtuar stubs libm pĂ«r fenv.h, qĂ« mund tĂ« pĂ«rdoren nĂ« sisteme pa mbĂ«shtetje pĂ«r llogaritje me numra me pikĂ« floating;
  • Shtuar njĂ« shembull build i aplikacionit ‘Hello world’ me picolibc pĂ«r sistemet ARM dhe RISC-V;
  • JanĂ« hequr katalogĂ«t newlib, libm dhe mathfp, ku ndodhej kodi eksperimental i pa pĂ«rdorur.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster