Biblioteka standarde e C-së PicoLibc 1.1 është në dispozicion

Keith Packard, zhvillues aktiv i Debian, lider i projektit X.Org dhe krijues i disa zgjerimeve X, duke përfshirë XRender, XComposite dhe XRandR, prezentoi lëshimi i bibliotekës standard C të re PicoLibc 1.1, e zhvilluar për t'u përdorur në pajisje të embeduara me kapacitet të kufizuar ruajtjeje të përhershme dhe memorie të përkohshme. Gjatë zhvillimit, një pjesë e kodit është marrë nga biblioteka newlib nga projekti Cygwin dhe AVR Libc, e zhvilluar për mikrocontrolerët Atmel AVR. Kodi i PicoLibc distribuohet ka një licencë BSD. Mbështetet ndërtimi i bibliotekës për arkitekturat ARM (32-bit), i386, RISC-V, x86_64 dhe PowerPC.

Kiti Packard filloi zhvillimin pasi nuk arriti të gjente një variant të denjë Libc për përdorim në pajisje të integruara me RAM të vogël. Projekti është duke u zhvilluar që nga viti i kaluar. Faza e parë e projektit ishte një variant i newlib, ku funksionet stdio u zëvendësuan me një variant të kompakt nga avrlibc (stdio në newlib nuk ishte i kënaqshëm për konsumimin e madh të burimeve). Duke qenë se aktiviteti aktual i Kitit është i lidhur me punën e vazhdueshme me arkitekturën RISC-V dhe zhvillimin e mjeteve për pajisje të integruara, ai kohët e fundit rishikoi gjendjen e zbatimeve libc dhe arriti në përfundimin se me pak punë, 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 ngatërrimin me bibliotekën Newlib, ai u rishikua në PicoLibc.

NĂ« formĂ«n aktuale, nĂ« Picolibc Ă«shtĂ« bĂ«rĂ« punĂ« pĂ«r tĂ« hequr tĂ« gjithĂ« kodin qĂ« nuk ofrohet nĂ«n licencĂ«n BSD (ky kod nuk u pĂ«rdor gjatĂ« krijimit pĂ«r pajisje tĂ« integruara), e cila ndihmoi nĂ« thjeshtimin e situatĂ«s me licencĂ«n e projektit. Zbatimi i rrjedhave lokale Ă«shtĂ« konvertuar nga ‘struct _reent’ nĂ« mekanizmin TLS (ruajtje e lidhur me thread-in). Versioni i kompakt i stdio, i marrĂ« nga kodi i bibliotekĂ«s avrlibc, Ă«shtĂ« aktivizuar si parazgjedhje (inserimet e ndryshimeve tĂ« veçanta pĂ«r ATmel janĂ« rishkruar nĂ« C). PĂ«r ndĂ«rtimin Ă«shtĂ« pĂ«rdorur mjetet Meson, çka lehtĂ«soi lidhjen me skenarĂ«t e ndĂ«rtimit tĂ« newlib dhe e thjeshtoi transferimin e ndryshimeve nga newlib. ËshtĂ« shtuar njĂ« variant i thjeshtuar i kodit tĂ« inicializimit (crt0), i cili Ă«shtĂ« bashkangjitur me skedarin ekzekutues dhe ekzekutohet para se tĂ« kalojĂ« drejt funksionit main().

NĂ« versionin Picolibc 1.1:

  • ËshtĂ« shtuar njĂ« bibliotekĂ« ndihmĂ«se pĂ«r mbĂ«shtetje tĂ« teknologjisĂ« 'semihosting' qĂ« lejon kodin qĂ« ekzekutohet nĂ« njĂ« ambient debuguese apo emuluese tĂ« pĂ«rdorĂ« mekanizmat e hyrjes/daljes tĂ« sistemit mikpritĂ«s;
  • PĂ«r sistemet qĂ« mbĂ«shtesin thirrjet sistemore open, close, read dhe write, nĂ« tinystdio janĂ« shtuar ndĂ«rfaqet standardizuara POSIX pĂ«r hyrje/dalje stdio, duke pĂ«rfshirĂ« funksionet fopen dhe fdopen, si dhe lidhjen e stdin/stdout/stderr me deshifrantĂ«t e skedarĂ«ve tĂ« pĂ«rcaktuar nĂ« POSIX;
  • JanĂ« transferuar ndryshimet e fundit nga baza e kodit newlib. NĂ« tĂ« pĂ«rfshihen shtesat libm pĂ«r fenv.h, tĂ« cilat mund tĂ« pĂ«rdoren nĂ« sisteme pa mbĂ«shtetje pĂ«r llogaritje me pikĂ« tĂ« lĂ«vizshme;
  • ËshtĂ« shtuar njĂ« shembull ndĂ«rtimi i aplikacionit 'Hello world' me picolibc pĂ«r sistemet ARM dhe RISC-V;
  • JanĂ« hequr katalogĂ«t newlib, libm dhe mathfp, tĂ« cilat pĂ«rmbanin kod eksperimental qĂ« nuk pĂ«rdorej.

Burimi: opennet.ru

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