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
)