alloc_text

指定した関数の定義があるというコード例を付けます。プラグマという名前の関数の関数の宣言と関数定義の中に発生する必要があります。

#pragma alloc_text( "textsection", function1, ... )

解説

alloc_text のプラグマはC++ メンバー関数またはオーバーロードされた関数は扱いません。これはC のリンケージで宣言された関数である extern 「 C 」 15 のリンケージ指定を使用して宣言されます。つまり関数にのみ適用されます。C++ リンケージを持つ関数でこのプラグマを使用するとコンパイラ エラーが生成されます。

__based を使用して関数アドレスがサポートされていないのでセクションの場所を指定するとalloc_text のプラグマを使用する必要があります。textsection で指定された名前は二重引用符で囲む必要があります。

alloc_text のプラグマは指定された関数のこれらの関数の定義の前に宣言の後に記述する必要があります。

alloc_text のプラグマで参照される関数またはプラグマと同じモジュールで定義されている必要があります。これはされず未定義の関数が別のテキスト セクションにコンパイル エラーが発生する場合もあればまたはキャッチされない場合があります。通常プログラムが正常に動作しますが関数は目的のセクションでは使用できません。

alloc_text のそのほかの制限 : は次のとおりです。

  • この関数の内部では使用できません。

  • この関数が宣言された後関数を定義する前に使用する必要があります。

参照

関連項目

プラグマのディレクティブと __Pragma のキーワード