exeGCC for SOLID s005 (ARM) ライブラリ仕様
ライブラリ仕様は基本的に s002 から変わっていないので、ここでは差分のみを記述します。
s002 から s005 の変更点
C11
aligned_allocサポート。(s002 readme 未記載。)省メモリ環境向けのコンパクトな libc_tiny を追加しました。
省メモリ環境向けのコンパクトな libc_tiny
exeGCC 汎用版 r004 のコードベース。
使用は非推奨ですが、削除された
__vlink_init_osemu(),__vlink_init_vlink(),__vlink_init(),ecvt(),ecvt_r(),fcvt(),fcvt_r(),gcvt(),gcvt_r()が戻っています。string.hの locale が絡まない関数と VLINK のコードはデフォルトの libc と共通です。
制限
ANSI C サポート。ライブラリの仕様は man/exegcc_arm_ja.pdf を参照してください。
locale は
"C"のみ。文字コードは ASCII のみ。ワイドキャラクター未サポート。
malloc()は簡素な K&R malloc で、メモリが断片化するほどの頻繁な使用は想定していません。C++ を使えるような環境に向けたものではないので C++ は非推奨。
使用方法
コンパイル時に
-D_USE_LIBC_TINYを指定。リンク時に
-specs=$GCCDIR\lib\$GCC_DEFAULT\tiny.specsを指定。明示的に指定する場合のライブラリ名は
libc_tiny.aとlibgcc_tiny.a(-lc_tiny -lgcc_tiny)