/SECTION(指定节属性)

/SECTION:name,[[!]{D|E|K|P|R|S|W}][,ALIGN=number]

备注

/SECTION 选项将更改节的属性,以重写编译节的 .obj 文件时设置的属性。

可移植可执行 (PE) 文件中的是包含代码或数据的连续内存块。 某些节包含程序声明和使用的代码或数据。 链接器和库管理器会为你创建其他数据段,这些数据段包含对操作系统至关重要的信息。 有关详细信息,请参阅 PE 格式

指定冒号 (:) 和节名称 namename 区分大小写。

请勿使用以下名称,因为它们与标准名称冲突。 例如,.sdata 在 RISC 平台上使用:

  • .arch

  • .bss

  • .data

  • .edata

  • .idata

  • .pdata

  • .rdata

  • .reloc

  • .rsrc

  • .sbss

  • .sdata

  • .srdata

  • .text

  • .xdata

指定节的一个或多个属性。 下面列出的属性字符不区分大小写。 必须指定希望节具有的所有属性。 省略的属性字符会导致属性位关闭。 若未指定 RWE,则现有读取、写入或可执行状态保持不变。

若要取反属性,请在其字符前面加上感叹号 (!)。 此表中显示了属性字符的含义:

字符 Attribute 含义
E 执行 该节可执行
R 阅读 允许对数据进行读取操作
W 写入 允许对数据进行写入操作
S 共享 在所有加载映像的进程之间共享该段
D 可丢弃 将该节标记为可丢弃
K 可缓存 将该节标记为不可丢弃
P 可分页 将该节标记为不可分页

KP 的不寻常之处在于,与它们相对应的节标记用于否定意义。 若使用 /SECTION:.text,K 选项指定 .text 节上的其中一个,则使用 /HEADERS 选项运行 DUMPBIN 时,节标记将没有任何区别;该节已隐式缓存。 若要删除默认值,请改为指定 /SECTION:.text,!K。 DUMPBIN 显示节特征,包括“未缓存。”

若节所在的 PE 文件中无 ERW 设置,则该节可能无效。

使用 ALIGN=number 参数可以指定特定节的对齐值。 number 参数以字节为单位,必须是 2 的幂。 有关详细信息,请参阅 /ALIGN

在 Visual Studio 开发环境中设置此链接器选项

  1. 打开项目的“属性页” 对话框。 有关详细信息,请参阅设置编译器和生成属性

  2. 选择“配置属性”>“链接器”>“常规”属性页。

  3. 修改“执行节特性”属性。 选择“确定”或“应用”以保存更改。

以编程方式设置此链接器选项

另请参阅

MSVC 链接器参考
MSVC 链接器选项