インテル® C++ コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス

alloc_section

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

構文

#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 の使用例

#pragma alloc_section(var1, "r;short") 
  int var1 = 20; 
#pragma alloc_section(var2, "r;short") 
  extern int var2;