2.6. スタティックデータアクセスのカスタマイズ

このセクションでは、C ライブラリからの呼び出しを使用した、スタティックデータへのアクセスについて説明します。 スタティックデータを使用する C ライブラリ関数は、以下のように分類できます。

C ライブラリは、暗黙のスタティックデータを必要とする機能を使う場合に、置き換え可能な関数への呼び出しを使用します。 Table 2.6 に、これらの置き換え可能な関数を示します。 これらの関数ではセミホスティングは使われません。

Table 2.6. C ライブラリの呼び出し

関数説明
__rt_errno_addr()変数 errno のアドレスを取得するために呼び出されます。 __rt_errno_addr()を参照して下さい。
__rt_fp_status_addr()浮動小数点ステータスワードのアドレスを取得するために、浮動小数点サポートコードによって呼び出されます。 __rt_fp_status_addr()を参照して下さい。
locale 関数__user_libspace() 関数は、ライブラリ専用のスタティックデータブロックを作成します。 アセンブラマクロによるロケールと CTYPE のカスタマイズおよび再入可能およびスレッドセーフコードの記述を参照して下さい。

また、メモリの使用については、ランタイムメモリモデルのカスタマイズを参照して下さい。

__user_libspace のデフォルトの実装では、ZI セグメント内に 96 バイトのブロックが作成されます。 アプリケーションに main() 関数が含まれない場合でも、通常は __user_libspace() 関数を再定義する必要はありません。 ただし、オペレーティングシステムまたはプロセス切り替え機構を記述している場合は、この関数を再実装する必要があります(再入可能およびスレッドセーフコードの記述を参照して下さい)。

Note

定義内のスタティックデータを使用する関数は、今後のリリースで変更される場合があります。

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0349AJ
Non-Confidential