/SECTION
(指定區段屬性)
/SECTION:
name
,
[[!
]{D
|E
|K
|P
|R
|S
|W
}][,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。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應