section 関数属性は、コンパイラーがその生成済みコードを配置する、
オブジェクト・ファイル内のセクションを指定します。この言語フィーチャーを
使用すると、関数が現れるセクションを制御できます。
section 関数属性は、関数属性の一般的な構文に従います。 プロトタイプ宣言では、属性指定子は関数宣言子に従い、関数定義では宣言子に先行します。C++ では、関数定義の関数宣言子の前の属性は受 け入れられません。以下のダイアグラムで、関数属性の サポートされる形式が示されます。
>>-__attribute__--((--+-section-----+--(--"section_name"--)--))->< '-__section__-'
ここで section_name はストリング・リテラルです。
定義済みの各関数は、1 つのセクションにのみ存在できます。 関数定義に示されるこのセクションは、直前の宣言にあるセクションと 一致していなければなりません。 関数定義で示されているセクションは上書きできませんが、 関数宣言で示されているセクションは後で指定するときに上書きできます。 さらに、セクション属性が関数宣言に適用されていると、 同じコンパイル単位に定義されている場合に限り、関数は 指定されたセクションに配置されます。
関連参照