alloc_section

 

指定したセクションに変数を割り当てます。変数のセクション属性指定を制御します。

構文

#pragma alloc_section(var1, var2,..., "r;attribute-list")

引数

var

セクションでシンボルを定義するために使用できる変数

"r;attribute-list"

属性のカンマ区切りのリスト。定義済みの値は、'short' および 'long' です。

説明

alloc_section プラグマは、リストされた変数 var1var2 などを指定されたセクションに配置します。このプラグマは、変数のセクション属性指定を制御します。コンパイラーは、var1/var2/etc で定義された変数を "data"、"bss"、または "rdata" セクションのいずれに送るかを決定します。

セクション名は、二重引用符で囲まれます。これは、#pragma section を使用して、前もってプログラムに導入されています。カンマ区切りの変数名リストは、カンマの次のセクション名の後に続きます。

リストされているすべての変数は、このプラグマの前に同じ変換単位と同じスコープで定義されている必要があります。変数には、スタティック・ストレージがあります。C モジュールでは参照は関係ありませんが、C++ モジュールの場合は、"C" 外部参照指定で定義されます。

次の例は、このプラグマの使用方法を示します。

#pragma alloc_section(var1, "r;short")

int var1 = 20;

#pragma alloc_section(var2, "r;short")

extern int var2;