เชธเซเชŸเชพเชจเซเชกเชฐเซเชก C เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ PicoLibc 1.1 เช‰เชชเชฒเชฌเซเชง เช›เซ‡

เช•เซ€เชฅ เชชเซ‡เช•เชพเชฐเซเชก, เชธเช•เซเชฐเชฟเชฏ เชกเซ‡เชฌเชฟเชฏเชจ เชกเซ‡เชตเชฒเชชเชฐ, X.Org เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เชฒเซ€เชกเชฐ เช…เชจเซ‡ XRender, XComposite เช…เชจเซ‡ XRandR เชธเชนเชฟเชค เช˜เชฃเชพ X เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจเชจเชพ เชธเชฐเซเชœเช•, เชฐเชœเซ‚เช†เชค เช•เชฐเซ€ เชจเชตเซ€ เชธเซเชŸเชพเชจเซเชกเชฐเซเชก C เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ PicoLibc 1.1, เช•เชพเชฏเชฎเซ€ เชธเซเชŸเซ‹เชฐเซ‡เชœ เช…เชจเซ‡ RAM เชจเซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชฎเชพเชคเซเชฐเชพ เชธเชพเชฅเซ‡ เชเชฎเซเชฌเซ‡เชกเซ‡เชก เช‰เชชเช•เชฐเชฃเซ‹ เชชเชฐ เช‰เชชเชฏเซ‹เช— เชฎเชพเชŸเซ‡ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. เชตเชฟเช•เชพเชธ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เช•เซ‹เชกเชจเซ‹ เชญเชพเช— เชชเซเชธเซเชคเช•เชพเชฒเชฏเชฎเชพเช‚เชฅเซ€ เช‰เชงเชพเชฐ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹ เชจเซเชฏเซเชฒเชฟเชฌ เชธเชฟเช—เชตเชฟเชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚เชฅเซ€ เช…เชจเซ‡ AVR Libc, Atmel AVR เชฎเชพเช‡เช•เซเชฐเซ‹เช•เชจเซเชŸเซเชฐเซ‹เชฒเชฐเซเชธ เชฎเชพเชŸเซ‡ เชตเชฟเช•เชธเชฟเชค. PicoLibc เช•เซ‹เชก เชฆเซเชตเชพเชฐเชพ เชตเชฟเชคเชฐเชฟเชค BSD เชฒเชพเชฏเชธเชจเซเชธ เชนเซ‡เช เชณ. ARM (32-bit), i386, RISC-V, x86_64 เช…เชจเซ‡ PowerPC เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชฎเชพเชŸเซ‡ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡.

เช•เซ€เชฅ เชชเซ‡เช•เชพเชฐเซเชกเซ‡ เช“เช›เซ€ RAM เชธเชพเชฅเซ‡ เชเชฎเซเชฌเซ‡เชกเซ‡เชก เช‰เชชเช•เชฐเชฃเซ‹ เชชเชฐ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เชฏเซ‹เช—เซเชฏ Libc เชตเชฟเช•เชฒเซเชช เชถเซ‹เชงเชตเชพเชฎเชพเช‚ เช…เชธเชฎเชฐเซเชฅ เชนเซ‹เชตเชพ เชชเช›เซ€ เชตเชฟเช•เชพเชธ เชถเชฐเซ‚ เช•เชฐเซเชฏเซ‹. เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช—เชฏเชพ เชตเชฐเซเชทเชฅเซ€ เชกเซ‡เชตเชฒเชช เชฅเชˆ เชฐเชนเซเชฏเซ‹ เช›เซ‡. เชชเซเชฐเชฅเชฎ เชคเชฌเช•เซเช•เซ‡, เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชจเซเชฏเซ‚เชฒเชฟเชฌเชจเซ‹ เชเช• เชชเซเชฐเช•เชพเชฐ เชนเชคเซ‹, เชœเซ‡เชฎเชพเช‚ stdio เชจเชพ เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ avrlibc เชจเชพ เช•เซ‹เชฎเซเชชเซ‡เช•เซเชŸ เชธเช‚เชธเซเช•เชฐเชฃ เชธเชพเชฅเซ‡ เชฌเชฆเชฒเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ (เชจเซเชฏเซเชฒเชฟเชฌเชฎเชพเช‚ stdio เชคเซ‡เชจเชพ เช‰เชšเซเชš เชธเช‚เชธเชพเชงเชจ เชตเชชเชฐเชพเชถ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เชจ เชนเชคเซเช‚). เช•เซ€เชฅเชจเชพ เชตเชฐเซเชคเชฎเชพเชจ เช•เชพเชฐเซเชฏเชฎเชพเช‚ RISC-V เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชธเชพเชฅเซ‡ เชšเชพเชฒเซ เช•เชพเชฎ เช…เชจเซ‡ เชเชฎเซเชฌเซ‡เชกเซ‡เชก เช‰เชชเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชŸเซ‚เชฒเชฟเช‚เช—เชจเชพ เชตเชฟเช•เชพเชธเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชคเซ‹ เชนเซ‹เชตเชพเชฅเซ€, เชคเซ‡เชฃเซ‡ เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ libc เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ€ เชธเซเชฅเชฟเชคเชฟเชจเซ€ เชธเชฎเซ€เช•เซเชทเชพ เช•เชฐเซ€ เช…เชจเซ‡ เชคเชพเชฐเชฃ เช•เชพเชขเซเชฏเซเช‚ เช•เซ‡ เชฅเซ‹เชกเซ‹ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซ€เชจเซ‡, newlib เช…เชจเซ‡ avrlibc เชจเซเช‚ เชธเช‚เชฏเซ‹เชœเชจ เชธเชพเชฐเซ‹ เชธเชพเชฎเชพเชจเซเชฏ เชนเซ‡เชคเซ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡. เช‰เช•เซ‡เชฒ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ โ€œnewlib-nanoโ€ เชจเชพเชฎ เชนเซ‡เช เชณ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ Newlib เชชเซเชธเซเชคเช•เชพเชฒเชฏ เชธเชพเชฅเซ‡ เชฎเซ‚เช‚เชเชตเชฃ เชŸเชพเชณเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซเช‚ เชจเชพเชฎ เชฌเชฆเชฒเซ€เชจเซ‡ PicoLibc เชฐเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚.

เชคเซ‡เชจเชพ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚, Picolibc เช BSD เชฒเชพเชฏเชธเชจเซเชธ เชนเซ‡เช เชณ เชชเซ‚เชฐเชพ เชชเชพเชกเชตเชพเชฎเชพเช‚ เช†เชตเชคเชพเช‚ เชจ เชนเซ‹เชฏ เชคเซ‡เชตเชพ เชคเชฎเชพเชฎ เช•เซ‹เชกเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเซเช‚ เช•เชพเชฎ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช•เชฐเซเชฏเซเช‚ เช›เซ‡ (เชเชฎเซเชฌเซ‡เชกเซ‡เชก เช‰เชชเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡ เช† เช•เซ‹เชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชจ เชนเชคเซ‹), เชœเซ‡เชฃเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฎเชพเชŸเซ‡ เชฒเชพเชฏเชธเชจเซเชธ เชธเชพเชฅเซ‡ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชจเซ‡ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชฐเซ€เชคเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเซ€ เช›เซ‡. เชธเซเชฅเชพเชจเชฟเช• เชชเซเชฐเชตเชพเชนเซ‹เชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ‡ 'เชธเซเชŸเซเชฐเช•เซเชšเชฐ _เชฐเซ‡เชจเซเชŸ'เชฎเชพเช‚เชฅเซ€ TLS เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเชฎเชพเช‚ เช–เชธเซ‡เชกเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡ (เชฅเซเชฐเซ‡เชก-เชธเซเชฅเชพเชจเชฟเช• เชธเช‚เช—เซเชฐเชน). avrlibc เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เช•เซ‹เชกเชฎเชพเช‚เชฅเซ€ เช‰เชงเชพเชฐ เชฒเซ€เชงเซ‡เชฒ stdio เชจเซเช‚ เช•เซ‹เชฎเซเชชเซ‡เช•เซเชŸ เชตเชฐเซเชเชจ, เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซ‚เชชเซ‡ เชธเช•เซเชฐเชฟเชฏ เชฅเชพเชฏ เช›เซ‡ (ATmel-เชตเชฟเชถเชฟเชทเซเชŸ เชเชธเซ‡เชฎเซเชฌเชฒเชฐ เชฆเชพเช–เชฒ C เชฎเชพเช‚ เชซเชฐเซ€เชฅเซ€ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡). เชฎเซ‡เชธเซ‹เชจ เชŸเซ‚เชฒเช•เซ€เชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชฎเชพเชŸเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹, เชœเซ‡เชฃเซ‡ เชจเซเชฏเซ‚เชฒเชฟเชฌ เชเชธเซ‡เชฎเซเชฌเชฒเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ‹ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซเชฏเซเช‚ เชจ เชนเชคเซเช‚ เช…เชจเซ‡ เชจเซเชฏเซ‚เชฒเชฟเชฌเชฎเชพเช‚เชฅเซ€ เชซเซ‡เชฐเชซเชพเชฐเซ‹เชจเชพ เชŸเซเชฐเชพเชจเซเชธเชซเชฐเชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเซเชฏเซเช‚ เชนเชคเซเช‚. เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เช•เซ‹เชก (crt0) เชจเซเช‚ เชธเชฐเชณ เชธเช‚เชธเซเช•เชฐเชฃ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚, เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒ เช…เชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เชฎเซเช–เซเชฏ() เชซเช‚เช•เซเชถเชจเชฎเชพเช‚ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เชฅเชพเชฏ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚.

Picolibc เชธเช‚เชธเซเช•เชฐเชฃ 1.1 เชฎเชพเช‚:

  • เชŸเซ‡เช•เซเชจเซ‹เชฒเซ‹เชœเซ€เชจเซ‡ เชŸเซ‡เช•เซ‹ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ เชธเชนเชพเชฏเช• เชชเซเชธเซเชคเช•เชพเชฒเชฏ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚ "เชธเซ‡เชฎเซ€เชนเซ‹เชธเซเชŸเชฟเช‚เช—"เชกเชฟเชฌเช—เชฐ เช…เชฅเชตเชพ เช‡เชฎเซเชฏเซเชฒเซ‡เชŸเชฐ เชชเชฐเซเชฏเชพเชตเชฐเชฃเชฎเชพเช‚ เชšเชพเชฒเชคเชพ เช•เซ‹เชกเชจเซ‡ เชนเซ‹เชธเซเชŸ เชธเชฟเชธเซเชŸเชฎเชจเซ€ I/O เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡;
  • เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒเซเชธเชจเซ‡ เช“เชชเชจ, เช•เซเชฒเซ‹เช, เชตเชพเช‚เชšเชตเชพ เช…เชจเซ‡ เชฒเช–เชตเชพเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเชคเซ€ เชธเชฟเชธเซเชŸเชฎเซ‹ เชฎเชพเชŸเซ‡, tinystdio เชชเซเชฐเชฎเชพเชฃเชฟเชค POSIX stdio I/O เชˆเชจเซเชŸเชฐเชซเซ‡เชธ เช‰เชฎเซ‡เชฐเซ‡ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ fopen เช…เชจเซ‡ fdopen เชซเช‚เช•เซเชถเชจเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡, เชคเซ‡เชฎเชœ stdin/stdout/stderr เชจเซ‡ POSIX- เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เชซเชพเช‡เชฒ เชตเชฐเซเชฃเชจเช•เชฐเซเชคเชพเช“ เชธเชพเชฅเซ‡ เชœเซ‹เชกเซ‡ เช›เซ‡;
  • เชจเซเชฏเซเชฒเชฟเชฌ เช•เซ‹เชกเชฌเซ‡เชเชฎเชพเช‚เชฅเซ€ เชคเชพเชœเซ‡เชคเชฐเชจเชพ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡. เชฎเชพเชŸเซ‡ เช‰เชฎเซ‡เชฐเชพเชฏเซ‡เชฒ libm stubs เชธเชนเชฟเชค fenv.h, เชœเซ‡ เชซเซเชฒเซ‹เชŸเชฟเช‚เช— เชชเซ‹เชˆเชจเซเชŸ เชธเชชเซ‹เชฐเซเชŸ เชตเชฟเชจเชพ เชธเชฟเชธเซเชŸเชฎเซ‹ เชชเชฐ เชตเชพเชชเชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡;
  • ARM เช…เชจเซ‡ RISC-V เชธเชฟเชธเซเชŸเชฎเซเชธ เชฎเชพเชŸเซ‡ picolibc เชธเชพเชฅเซ‡ โ€œHello worldโ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚;
  • newlib, libm เช…เชจเซ‡ mathfp เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เช“ เชฆเซ‚เชฐ เช•เชฐเซ€, เชœเซ‡เชฎเชพเช‚ เชจ เชตเชชเชฐเชพเชฏเซ‡เชฒ เชชเซเชฐเชพเชฏเซ‹เช—เชฟเช• เช•เซ‹เชก เช›เซ‡.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹