section

.obj ファイル内にセクションを作成します。

#pragma section( "section-name" [, attributes] )

解説

用語の意味は 分割し それらについては このトピックで交換できます。

一度セクションはそのまま以降のコンパイルのように定義されます。ただし__declspec(allocate) を使用してセクションに配置されません。

セクション名は セクションの名前の必須パラメーターです。名前は標準セクション名と競合することはできません。使用するな名前の一覧についてはを参照してください /SECTION セクションを作成する場合。

attributes はセクションに割り当てる一つ以上のコンマ区切りの属性で構成される省略可能なパラメーターです。可能な attributes は次のとおりです :

  • 読み取り
    データの読み取り操作を有効にします。

  • 書き込み
    データの書き込み操作ができます。

  • 実行します。
    コードを実行できるようにします。

  • 共有
    イメージを読み込んだすべてのプロセス間でセクションを共有します。

  • nopage
    セクションをページング不可としてマークします ; Win32 デバイス ドライバーに役立ちます。

  • nocache
    セクションをキャッシュ不可としてマークします ; Win32 デバイス ドライバーに役立ちます。

  • 破棄
    セクションを破棄可能としてマークします ; Win32 デバイス ドライバーに役立ちます。

  • クリア
    メモリ常駐してセクションにします ; 仮想デバイス ドライバー (VxD) を返します。

属性を指定しない場合セクションと書き込みの属性が読むいます。

使用例

次の例では最初の手順はセクション属性を指定します。__declspec(allocate) で宣言されていないため整数 j は次のように mysec ; j はデータ セクションに入ります。整数 i は __declspec(allocate) のストレージ クラス属性の結果として mysec になります。

// pragma_section.cpp
#pragma section("mysec",read,write)
int j = 0;

__declspec(allocate("mysec"))
int i = 0;

int main(){}

参照

関連項目

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