共用方式為


/SECTION ( 指定區段屬性 )

/SECTION:name,[[!]{DE|K||P|SWR||}][],ALIGN=number

備註

/SECTION 選項會變更區段的屬性,覆寫編譯 .obj 檔案的該區段時所設定的屬性。

可攜式可執行檔 (PE) 檔案中的區段是包含程式代碼或數據的具名連續記憶體區塊。 某些區段包含程式宣告並使用的程式代碼或數據。 連結器和連結庫管理員會為您建立其他數據區段,並包含作業系統重要資訊。 如需詳細資訊,請參閱 PE格式

指定冒號 (:) 和區段名稱 name。 區分 name 大小寫。

請勿使用下列名稱,因為它們與標準名稱衝突。 例如, .sdata 用於 RISC 平臺上:

  • .arch

  • .bss

  • .data

  • .edata

  • .idata

  • .pdata

  • .rdata

  • .reloc

  • .rsrc

  • .sbss

  • .sdata

  • .srdata

  • .text

  • .xdata

指定區段的一或多個屬性。 下面所列的屬性字元不會區分大小寫。 您必須指定您想要區段擁有的所有屬性。 省略的屬性字元會導致該屬性位關閉。 如果您未指定 RWE,則現有的讀取、寫入或可執行文件狀態會保持不變。

若要否定屬性,請在其字元前面加上驚嘆號 (!)。 下表顯示屬性字元的意義:

字元 屬性 意義
E 執行 區段是可執行檔
R 參閱 允許對數據進行讀取作業
W 寫入 允許對數據進行寫入作業
S 共用 在載入映像的所有進程之間共享 區段
D 可捨棄 將區段標示為可捨棄
K 可快取 將區段標示為不可快取
P 可分頁 將區段標示為不可分頁

KP 不尋常的是,對應它們的區段旗標會用於負面意義上。 如果您使用 選項在區段上.text指定其中一個,當您使用 /SECTION:.text,K 選項執行DUMPBIN/HEADERS時,區段旗標沒有任何差異;區段已經隱含快取。 若要移除預設值,請改為指定 /SECTION:.text,!K 。 DUMPBIN 會顯示區段特性,包括「未快取」。

PE 檔案中沒有 ERW set 的區段可能無效。

ALIGN=number 變數可讓您指定特定區段的對齊值。 自 number 變數以位元組為單位,而且必須是兩個乘冪。 如需詳細資訊,請參閱/ALIGN

在 Visual Studio 開發環境中設定這個連結器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資訊,請參閱 設定編譯程式和建置屬性

  2. 選擇 [組態屬性>] 連結器>[一般] 屬性頁。

  3. 修改 Specify Section Attributes 屬性。 選擇 [確定] 或 [套用] 以儲存變更。

若要以程式設計方式設定這個連結器選項

另請參閱

MSVC 連結器參考
MSVC 連結器選項