Keith Packard, en aktiv utvecklare Debian, ledaren för X.Org-projektet och skaparen av mÄnga X-tillÀgg, inklusive XRender, XComposite och XRandR, utgÄvan av standard C-biblioteket , utvecklad för anvÀndning pÄ inbÀddade enheter med begrÀnsad permanent lagring och RAM. Under utvecklingen lÄnades en del av koden frÄn biblioteket frÄn Cygwin-projektet och , utvecklad för Atmel AVR-mikrokontroller. PicoLibc-kod under BSD-licens. BibliotekssammansÀttning stöds för ARM (32-bitars), i386, RISC-V, x86_64 och PowerPC-arkitekturer.
Inledningsvis utvecklades projektet under namnet "newlib-nano" och syftade till att omarbeta nÄgra av de resurskrÀvande funktionerna i Newlib, som var problematiska att anvÀnda pÄ inbÀddade enheter med lite RAM. Till exempel har stdio-funktionerna ersatts med en kompakt version frÄn avrlibc-biblioteket. Koden har ocksÄ rensats frÄn icke-BSD-licensierade komponenter som inte anvÀnds i den inbÀddade versionen. En förenklad version av initieringskoden (crt0) har lagts till, och implementeringen av lokala trÄdar har flyttats frÄn 'struct _reent' till TLS-mekanismen (). Meson verktygslÄda anvÀnds för montering.
I den nya utgÄvan:
- Lade till möjligheten att bygga med hjÀlp av kompilator .
- Lade till stöd för Clang-kompilatorn.
- Beteendet för "gamma"-funktionen har bringats i linje med beteendet hos Glibc.
- Nano-malloc-implementeringen sÀkerstÀller att returnerat minne rensas.
- FörbÀttrad prestanda för nano-realloc, speciellt nÀr du slÄr ihop fria block och utökar högstorleken.
- Lade till en uppsÀttning tester för att kontrollera att malloc fungerar korrekt.
- FörbÀttrat plattformsstöd Windows och lade till möjligheten att bygga med mingw-verktygen.
- PÄ ARM-system, om tillgÀngligt, Àr maskinvaruregistret TLS (Thread-Local Storage) aktiverat.
KĂ€lla: opennet.ru
