指定したセクションに変数を割り当てます。変数のセクション属性指定を制御します。
#pragma alloc_section(var1, var2,..., "r;attribute-list") |
var |
セクションでシンボルを定義するために使用できる変数 |
"r;attribute-list" |
属性のカンマ区切りのリスト。定義済みの値は、'short' および 'long' です。 |
alloc_section プラグマは、リストされた変数 var1、var2 などを指定されたセクションに配置します。このプラグマは、変数のセクション属性指定を制御します。コンパイラーは、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;