/SECTION
( 指定區段屬性 )
/SECTION:
name
,
[[!
]{D
E
|K
||P
|S
W
R
||}][],ALIGN=
number
備註
/SECTION
選項會變更區段的屬性,覆寫編譯 .obj
檔案的該區段時所設定的屬性。
可攜式可執行檔 (PE) 檔案中的區段是包含程式代碼或數據的具名連續記憶體區塊。 某些區段包含程式宣告並使用的程式代碼或數據。 連結器和連結庫管理員會為您建立其他數據區段,並包含作業系統重要資訊。 如需詳細資訊,請參閱 PE格式。
指定冒號 (:
) 和區段名稱 name
。 區分 name
大小寫。
請勿使用下列名稱,因為它們與標準名稱衝突。 例如, .sdata
用於 RISC 平臺上:
.arch
.bss
.data
.edata
.idata
.pdata
.rdata
.reloc
.rsrc
.sbss
.sdata
.srdata
.text
.xdata
指定區段的一或多個屬性。 下面所列的屬性字元不會區分大小寫。 您必須指定您想要區段擁有的所有屬性。 省略的屬性字元會導致該屬性位關閉。 如果您未指定 R
、 W
或 E
,則現有的讀取、寫入或可執行文件狀態會保持不變。
若要否定屬性,請在其字元前面加上驚嘆號 (!
)。 下表顯示屬性字元的意義:
字元 | 屬性 | 意義 |
---|---|---|
E |
執行 | 區段是可執行檔 |
R |
參閱 | 允許對數據進行讀取作業 |
W |
寫入 | 允許對數據進行寫入作業 |
S |
共用 | 在載入映像的所有進程之間共享 區段 |
D |
可捨棄 | 將區段標示為可捨棄 |
K |
可快取 | 將區段標示為不可快取 |
P |
可分頁 | 將區段標示為不可分頁 |
K
和 P
不尋常的是,對應它們的區段旗標會用於負面意義上。 如果您使用 選項在區段上.text
指定其中一個,當您使用 /SECTION:.text,K
選項執行DUMPBIN
/HEADERS
時,區段旗標沒有任何差異;區段已經隱含快取。 若要移除預設值,請改為指定 /SECTION:.text,!K
。 DUMPBIN 會顯示區段特性,包括「未快取」。
PE 檔案中沒有 E
、 R
或 W
set 的區段可能無效。
自 ALIGN=
number
變數可讓您指定特定區段的對齊值。 自 number
變數以位元組為單位,而且必須是兩個乘冪。 如需詳細資訊,請參閱/ALIGN
。
在 Visual Studio 開發環境中設定這個連結器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資訊,請參閱 設定編譯程式和建置屬性。
選擇 [組態屬性>] 連結器>[一般] 屬性頁。
修改 Specify Section Attributes 屬性。 選擇 [確定] 或 [套用] 以儲存變更。
若要以程式設計方式設定這個連結器選項
- 請參閱 AdditionalOptions。