Ukukhutshwa kwethala leencwadi eliqhelekileyo le-C i-PicoLibc 1.8.9, ephuhliswe nguKeith Packard (inkokeli yeprojekthi ye-X.Org) ukuze isetyenziswe kwizixhobo ezifakelweyo ezinokugcinwa okulinganiselwe kunye ne-RAM, ishicilelwe. Ngexesha lophuhliso, inxalenye yekhowudi yayibolekwe kwilayibrari entsha kwiprojekthi yeCygwin kunye ne-AVR Libc, eyenzelwe i-Atmel AVR microcontrollers. Ikhowudi yePicoLibc isasazwa phantsi kwelayisensi yeBSD. Indibano yethala leencwadi ixhaswa kwi-ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k, PowerPC, LatticMico32, LoongArch kunye ne-OpenRisc architectures.
Ekuqaleni, le projekthi yaphuhliswa phantsi kwegama elithi "newlib-nano" kwaye ijolise ekusebenzeni kwakhona eminye yemisebenzi enzima ye-Newlib, eyayiyingxaki ekusebenziseni izixhobo ezifakwe kwi-RAM encinci. Ngokomzekelo, kwi-PicoLibc imisebenzi ye-stdio ithathelwa indawo ngoguqulelo oluhlangeneyo olusuka kwilayibrari ye-avrlibc. Ikhowudi ikwacinyiwe kumacandelo angasetyenziswanga kwindibano yesixhobo efakwe ngaphakathi engabonelelwanga phantsi kwelayisensi ye-BSD. Uguqulelo olulula lwekhowudi yokuqalisa (crt0) yongeziwe, kwaye ukuphunyezwa kweefowuni kukhutshelwe ukusuka ku-'struct _reent' ukuya kwi-TLS (ukugcinwa kwentambo yendawo). I-Meson toolkit isetyenziselwa ukudibanisa.
Kukhupho olutsha:
- Inkxaso eyongeziweyo ye-LoongArch, i-OpenRISC kunye ne-LatticMico32 izakhiwo.
- Ukuphunyezwa kwefayili yentloko ye-char.h eyaziswa kumgangatho we-C11 kucetywayo.
- Isetingi eyongeziweyo ye-nano-malloc-ecacileyo-ekhululekileyo yokucoca inkumbulo ekhululwe emva kwesimahla () okanye realloc ().
- Kuphunyezwe ukukwazi ukusebenzisa i-clang multilib kwiinkqubo ze-ARM64.
- Ukutshintshela kwi-picolibc-ci-tools toolkit entsha yokudibanisa ngokuzenzekelayo kwiinkqubo eziqhubekayo zokudibanisa igqityiwe.
- Uyilo lwe-MIPS luxhasa itekhnoloji ye-"semihosting", evumela ukuba ikhowudi isebenze kwi-debugger okanye i-emulator bume ukuba isebenzise iindlela ze-I/O ze-host system.
- I-picicrt eyongeziweyo kunye nenkxaso ye-semihost yeeprosesa ze-Xtensa.
- Iisetingi ezongeziweyo zokusetyenziswa ngeCoreBoot.
- Yongeza i-memset_explicit () umsebenzi, owaziswa kumgangatho we-C23.
- Iitheyibhile zokuguqulwa kwamatyala zihlaziywe kwiinkcazo ze-Unicode 15.1.0.
- Imisebenzi asnprintf() kunye vasnprintf() zisusiwe kwilayibrari entsha.
- Inkxaso eyongeziweyo ye-FVP (i-Fixed Virtual Platforms) i-emulator ephuhliswe yi-ARM.
- Inkxaso eyongeziweyo yeenguqulelo ezindala ze-GCC compiler (ezindala kune-4.4).
- I-iconv kunye nokuphunyezwa kwendawo kuthathelwe indawo ngeenguqulelo ezithe kratya ezisebenzisa ikhowudi eqhelekileyo yokusebenza ngeekhowudi.
umthombo: opennet.ru
