constructor および destructor 関数属性

Linux constructor および destructor 関数属性は、データを初期化したり、プログラムの実行中に 暗黙的に使用されるストレージを解放したりする関数を作成する機能を提供します。 constructor 関数属性が適用されている関数は、 実行が main() に入る前に自動的に呼び出されます。 同様に、destructor 属性が適用されている関数は、 exit() を呼び出した後、または main() が完了した後に自動的に 呼び出されます。

constructor または destructor 関数が自動的に呼び出されるときは、関数の戻り値は無視され、関数のパラメーターは どれも定義されません。

constructor および destructor 関数属性は、関数属性の一般的な構文に従います。 プロトタイプ宣言では、属性指定子は関数宣言子に従い、関数定義では宣言子に先行します。 C++ では、関数定義の関数宣言子の前の属性は受 け入れられません。以下のダイアグラムで、関数属性の サポートされる形式が示されます。

>>-__attribute__--((--+-constructor-----+--))--function_name--(--引き数--)-><
                      +-destructor------+
                      +-__constructor__-+
                      '-__destructor__--'
 
 

constructor または destructor 関数属性を含む関数宣言は、その他の宣言のすべてと一致していなければなりません。

関連参照

IBM Copyright 2003