Кит Паккард, белсенді әзірлеуші Debian, X.Org жобасының жетекшісі және XRender, XComposite және XRandR сияқты көптеген X кеңейтімдерінің жасаушысы, стандартты C кітапханасының шығарылымы , шектеулі сақтау орны мен жедел жады бар ендірілген құрылғыларда пайдалану үшін жасалған. Әзірлеу кезінде кейбір код кітапханадан алынған Cygwin жобасынан және , Atmel AVR микроконтроллерлері үшін жасалған. PicoLibc коды BSD лицензиясы бойынша лицензияланған. Кітапхана ғимараты ARM (32-бит), i386, RISC-V, x86_64 және PowerPC архитектуралары үшін қолдау көрсетіледі.
Жоба бастапқыда "newlib-nano" деген атпен әзірленді және шектеулі жедел жады бар ендірілген құрылғыларда пайдалану үшін қиындық тудыратын кейбір ресурстарды көп қажет ететін Newlib функцияларын қайта өңдеуге бағытталған. Мысалы, stdio функциялары avrlibc кітапханасынан алынған ықшам нұсқамен ауыстырылды. Код сонымен қатар ендірілген құрылғы құрастыруында пайдаланылмаған және BSD лицензиясы бойынша шығарылмаған компоненттерден тазартылды. Бастапқы кодтың (crt0) жеңілдетілген нұсқасы қосылды және жергілікті ағындарды енгізу 'struct _reent' механизмінен TLS механизміне ауыстырылды (). Құрастыру үшін мезон құралдары қолданылды.
Жаңа шығарылымда:
- Құрастыру мүмкіндігі қосылды құрастырушы .
- Clang компиляторына қолдау қосылды.
- «Гамма» функциясының мінез-құлқы Glibc функциясымен сәйкестендірілді.
- nano-malloc іске асыруы қайтарылған жадты міндетті түрде тазалауды қамтамасыз етеді.
- Nano-realloc өнімділігі жақсарды, әсіресе бос блоктарды біріктіру және үйінді өлшемін кеңейту кезінде.
- malloc функциясының дұрыс жұмыс істеуін тексеру үшін бірқатар сынақтар қосылды.
- Платформаны қолдау жақсартылды Windows және mingw құралдарын пайдаланып құрастыру мүмкіндігін қосты.
- ARM жүйелерінде, егер бар болса, TLS (Thread-Local Storage) аппараттық регистрі қосылады.
Ақпарат көзі: opennet.ru
