2.9. エラー通知、エラー処理、プログラム終了処理のカスタマイズ

C ライブラリによって生成されるすべてのトラップシグナルまたはエラーシグナルは __raise() 関数を経由します。 この関数を再実装するか、またはこの関数によって使用される低レベル関数を再実装することができます。

Caution

浮動小数点の処理に関する IEEE 754 標準では、例外に対するデフォルトのアクションは、トラップなしで続行することが定義されています。 fenv.h 内の関数と定義をカスタマイズすることで、浮動小数点エラーの処理方法を修正することができます。 「Chapter 4 浮動小数点サポート」も参照して下さい。

エラー関連の関数については、rt_misc.h インクルードファイルを参照して下さい。

Table 2.10 は、トラップおよびエラー処理関数を示しています。 アプリケーションの初期化と終了については、新しい実行環境に合わせた C ライブラリのカスタマイズを参照して下さい。

Table 2.10. トラップおよびエラー処理

関数説明
_sys_exit()最終的に、ライブラリからのすべての終了処理によって呼び出されます。 _sys_exit()を参照して下さい。
errnoエラー処理に使用されるスタティック変数です。 errnoを参照して下さい。
__rt_errno_addr()この関数は、変数 errno のアドレスを取得するために呼び出されます。 __rt_errno_addr()を参照して下さい。
__raise()ランタイム異常を示すシグナルを生成します。 __raise()を参照して下さい。
__rt_raise()ランタイム異常を示すシグナルを生成します。 __rt_raise()を参照して下さい。
__default_signal_handler()ユーザへのエラーメッセージを表示します。 __default_signal_handler()を参照して下さい。
_ttywrch()コンソールに文字を書き込みます。 _ttywrch() のデフォルトの実装はセミホステッドであるため、セミホスティング呼び出しが使用されます。 _ttywrch()を参照して下さい。
__rt_fp_status_addr()この関数は、fp ステータスワードのアドレスを取得するために呼び出されます。 __rt_fp_status_addr()を参照して下さい。
Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0349AJ
Non-Confidential