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)