เบเบฒเบ™เบ›เปˆเบญเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” C เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ PicoLibc 1.4.7

Keith Packard, เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ Debian เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบง, เบœเบนเป‰เบ™เปเบฒเบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ X.Org เปเบฅเบฐเบœเบนเป‰เบชเป‰เบฒเบ‡เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบ X เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ, เบฅเบงเบกเบ—เบฑเบ‡ XRender, XComposite เปเบฅเบฐ XRandR, เบˆเบฑเบ”เบžเบตเบกเบกเบฒ เบเบฒเบ™เบ›เปˆเบญเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” C เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ PicoLibc 1.4.7, เบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบเบฑเบ‡เบ—เบตเปˆเบกเบตเบžเบทเป‰เบ™เบ—เบตเปˆเป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ–เบฒเบงเบญเบ™เบˆเปเบฒเบเบฑเบ”เปเบฅเบฐ RAM. เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เป„เบ”เป‰เบ–เบทเบเบขเบทเบกเบˆเบฒเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” newlib เบˆเบฒเบเป‚เบ„เบ‡เบเบฒเบ™ Cygwin เปเบฅเบฐ AVR Libc, เบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเปเบฒเบฅเบฑเบš Atmel AVR microcontrollers. เบฅเบฐเบซเบฑเบ” PicoLibc เปเบˆเบเบขเบฒเบเป‚เบ”เบ เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” BSD. เบเบฒเบ™เบ›เบฐเบเบญเบšเบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เปเบกเปˆเบ™เบฎเบญเบ‡เบฎเบฑเบš ARM (32-bit), i386, RISC-V, x86_64 เปเบฅเบฐเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณ PowerPC.

เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เป‚เบ„เบ‡เบเบฒเบ™เป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบžเบฒเบเปƒเบ•เป‰เบŠเบทเปˆ "newlib-nano" เปเบฅเบฐเบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ„เบทเบ™เปƒเบซเบกเปˆเบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ‚เบญเบ‡ Newlib, เป€เบŠเบดเปˆเบ‡เบกเบตเบšเบฑเบ™เบซเบฒเปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบเบฑเบ‡เบ—เบตเปˆเบกเบต RAM เบซเบ™เป‰เบญเบ. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบŸเบฑเบ‡เบŠเบฑเบ™ stdio เป„เบ”เป‰เบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบเบชเบฐเบšเบฑเบšเบ—เบตเปˆเบซเบ™เบฒเปเบซเบ™เป‰เบ™เบˆเบฒเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” avrlibc. เบฅเบฐเบซเบฑเบ”เบเบฑเบ‡เป„เบ”เป‰เบ–เบทเบเบญเบฐเบ™เบฒเป„เบกเบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบšเปเปˆเบกเบตเปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” BSD เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบเบฑเบ‡. เบชเบฐเบšเบฑเบšเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™ (crt0) เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบซเบปเบงเบ‚เปเป‰เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เป„เบ”เป‰เบ–เบทเบเบเป‰เบฒเบเบˆเบฒเบ 'struct _reent' เป„เบ›เบซเบฒเบเบปเบ™เป„เบ TLS (thread-local storage). เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท Meson เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบเบญเบš.

เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเปƒเบซเบกเปˆ:

  • เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เป‚เบ”เบเปƒเบŠเป‰ เบขเบฑเป‰เบ‡เบขเบทเบ™เบ—เบฒเบ‡เบ„เบฐเบ™เบดเบ”เบชเบฒเบ” เบชเบฑเบ‡เบฅเบงเบก CompCert.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบš Clang compiler.
  • เบžเบถเบ”เบ•เบดเบเปเบฒเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆ 'gamma' เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเบกเบฒเปƒเบซเป‰เบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบžเบถเบ”เบ•เบดเบเปเบฒเบ‚เบญเบ‡ Glibc.
  • เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” nano-malloc เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบชเบปเปˆเบ‡เบ„เบทเบ™เป„เบ”เป‰เบ–เบทเบเบฅเบถเบšเบฅเป‰เบฒเบ‡.
  • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡ nano-realloc, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบฅเบงเบกเบ•เบฑเบ™เบŸเบฃเบตเปเบฅเบฐเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เบฐเบซเบ™เบฒเบ” heap.
  • เป€เบžเบตเปˆเบกเบŠเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป€เบžเบทเปˆเบญเบเบงเบ”เบเบฒเป€เบšเบดเปˆเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡ malloc.
  • เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเป€เบงเบ—เบต Windows เปเบฅเบฐเป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เป‚เบ”เบเปƒเบŠเป‰เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท mingw.
  • เปƒเบ™เบฅเบฐเบšเบปเบš ARM, เบ–เป‰เบฒเบกเบต, เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบฎเบฒเบ”เปเบง TLS (Thread-Local Storage) เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru