Share via


section pragma

在 OBJ 檔案中建立區段。

語法

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

備註

本文中的字詞 區段 區段 具有相同的意義。

定義區段之後,它仍然對其餘的編譯有效。 不過,您必須使用 __declspec(allocate) ,或區段中未放置任何專案。

section-name 是成為區段名稱的必要參數。 名稱不得與任何標準區段名稱相衝突。 如需建立區段時不應該使用的名稱清單,請參閱 /SECTION

attributes 是選擇性參數,其中包含一或多個要指派給 區段的逗號分隔屬性。 可能的 屬性 包括:

屬性 描述
read 允許對於資料進行讀取作業。
write 允許對於資料進行寫入作業。
execute 允許執行程式碼。
shared 讓所有載入影像的處理序共用區段。
nopage 將區段標示為不可分頁。 適用于 Win32 設備磁碟機。
nocache 將區段標示為不可快取。 適用于 Win32 設備磁碟機。
discard 將區段標示為可捨棄。 適用于 Win32 設備磁碟機。
remove 將 區段標示為非記憶體常駐區段。 僅限虛擬裝置磁碟機 (V x D) 。

如果您未指定任何屬性,則區段具有 readwrite 屬性。

範例

在此範例中,第一個區段會識別區段 pragma 及其屬性。 整數 j 不會放入 中 mysec ,因為它未使用 __declspec(allocate) 宣告。 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 指示詞和 __pragma_Pragma 關鍵字