__attribute__((destructor[(priority)])) 関数属性

この属性を指定すると、関連付けられている関数が、main() の完了後または exit() の呼び出し前に自動的に呼び出されます。

Note

この属性は、ARM コンパイラでサポートされている GNU コンパイラの拡張機能です。

Show/hide構文

__attribute__((destructor[(priority)]))

priority は、優先度を示す整数値(省略可)です。割り当てられている整数値が大きいデストラクタから先に実行されます。優先度が割り当てられていなデストラクタは、優先度が割り当てられているデストラクタの後に実行されます。

100 以下の優先度値は内部使用専用に予約されています。これらの値を使用すると、コンパイラから警告が生成されます。100 を超える優先度値は予約されていません。

Show/hide使用法

GNU のメイクファイルを変更せずにそのまま使用し、ARM コンパイラでビルドする場合は、リンカオプション --fini=symbol よりもこの属性を使用することを推奨します。例えば、--translate_gcc--translate_gld--translate_g++ などを使用する場合が該当します。

Show/hide

int my_destructor(void) __attribute__((destructor));

int my_destructor(void) /* この関数が呼び出されるのは、main() の */
{                       /* 完了後または exit() の呼び出し後*/
   ...
   return 0;
}

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711