/CETCOMPAT(与 CET 影子堆栈兼容)

指定链接器是否将可执行映像标记为与控制流强制技术 (CET) 影子堆栈兼容。

语法

/CETCOMPAT
/CETCOMPAT:NO

参数

NO
指定可执行文件不应标记为与 CET 影子堆栈兼容。

备注

控制流强制技术 (CET) 影子堆栈是计算机处理器功能。 它可以防御基于面向返回的编程 (ROP) 的恶意软件攻击。 有关详细信息,请参阅关于 Intel 控制流强制技术的技术说明

/CETCOMPAT 链接器选项指示链接器将二进制文件标记为与 CET 影子堆栈兼容。 /CETCOMPAT:NO 将二进制文件标记为与 CET 影子堆栈不兼容。 如果在命令行上同时指定这两个选项,则使用后一个指定的选项。 此开关目前仅适用于 x86 和 x64 体系结构。

从 Visual Studio 2019 开始,可以使用 /CETCOMPAT 选项。

在 Visual Studio 中设置 /CETCOMPAT 链接器选项

从 Visual Studio 2019 版本 16.7 开始:

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

  2. 选择“配置属性”>“链接器”>“高级”属性页

  3. 选择“与 CET 影子堆栈兼容”属性。

  4. 在下拉列表控件中,选择 Yes (/CETCOMPAT) 将二进制文件标记为与 CET 影子堆栈兼容,或 No (/CETCOMPAT:NO) 将其标记为不兼容。

在以前版本的 Visual Studio 2019 中:

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

  2. 选择“配置属性”>“链接器”>“命令行”属性页 。

  3. 在“附加选项”编辑控件中,添加 /CETCOMPAT 将二进制文件标记为与 CET 影子堆栈兼容,或 /CETCOMPAT:NO 将其显式标记为不兼容。

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

此选项没有编程等效项。

另请参阅

链接器选项