IT用語集 › プログラミング › newlib

newlib

プログラミング Svenska → 更新: 2026-11-03

OSのない環境向けのC標準ライブラリ。ほぼ全てのARM向けクロスコンパイラに同梱されている。

newlibは1990年代前半、Cygnus Solutionsが出自の異なる自由なライセンスのコードを寄せ集めて作った。ファームウェアを作る顧客にとって、glibcは大きすぎ、GPLの縛りも強すぎたからだ。Red Hatは1999年にCygnusを買収し、今も保守している。arm-none-eabi-gcc の下層にあり、Cygwinが使うCライブラリの基礎にもなっている。

要点は、newlibがハードウェアについて何も知らないことだ。printf は動くが、突き詰めると _write を呼ぶ。malloc は _sbrk 経由でメモリを要求する。これらはファームウェア開発者が、たいてい syscalls.c というファイルで用意しなければならない。忘れると、意味不明な名前のリンカエラーが出る。小型のチップ向けには、printf がフラッシュを20KBも食わないよう削ぎ落とした newlib-nano がある。

← 用語集に戻る