その他の組み込み関数

void* __get_return_address(unsigned int level);

この組み込み関数は、現在の関数の復帰アドレスを返します。level 引数は定数値でなければなりません。値が 0 の場合、現在の関数の復帰アドレスを返します。他の値の場合、0 を返します。Linux* システムでは、この組み込み関数は __builtin_return_address と同義です。名前と引数は gcc* 互換です。

 

void __set_return_address(void* addr);

この組み込み関数は、現在の関数の復帰アドレスを引数で示されたアドレスで上書きします。現在の呼び出しから戻ると、プログラム実行は指定されたアドレスから続行されます。

 

void* __get_frame_address(unsigned int level);

この組み込み関数は、現在の関数のフレームアドレスを返します。level 引数は定数値でなければなりません。値が 0 の場合、現在の関数のフレームアドレスを返します。他の値の場合、0 を返します。Linux システムでは、この組み込み関数は __builtin_frame_address と同義です。名前と引数は gcc* 互換です。