Share via


/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

指定 區段的一或多個屬性。 下面所列的屬性字元不會區分大小寫。 您必須指定您想要區段擁有的所有屬性。 省略的屬性字元會導致該屬性位關閉。 如果您未指定 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 連結器選項