section

在區段中建立的.obj 檔案。

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

備註

詞彙的意義區段 和 一節能互相對換本主題中。

一旦定義區段後,它仍然適用於編譯的其餘部分。不過,您必須使用 __declspec(allocate) 或執行任何動作將會放在區段。

區段名稱是必要的參數將會是區段的名稱。名稱必須與任何標準的區段名稱衝突。請參閱 /SECTION 為一系列建立區段時,應該不會使用您的名稱。

attributes是選擇性的參數所組成的一或多個以逗號分隔屬性,您想要指派給一節。可能attributes是:

  • read
    允許資料讀取的作業。

  • write
    允許資料寫入作業。

  • 執行
    允許執行的程式碼。

  • 共用
    共用區段載入影像的所有處理程序。

  • nopage
    標記為不可分頁 ; 區段 適用於 Win32 裝置驅動程式。

  • 無快取記憶體
    標記為不可快取 ; 區段 適用於 Win32 裝置驅動程式。

  • 捨棄
    標記為可棄置 ; 區段 適用於 Win32 裝置驅動程式。

  • remove
    標記為不常駐記憶體 ; 區段 虛擬裝置驅動程式 (VxD) 只。

如果您未指定的屬性,區段會有讀取和寫入屬性。

範例

下列範例中,在第一個指令會識別區段和它的屬性。整數j未放入mysec因為它並未宣告與__declspec(allocate)。 j郵件會移至 [資料] 區段。整數i不會進入mysec可能是其__declspec(allocate)儲存類別屬性。

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

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

int main(){}

請參閱

參考

Pragma 指示詞 」 和 「 __Pragma 關鍵字