/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 开始:
打开项目的“属性页”对话框。 有关详细信息,请参阅设置编译器和生成属性。
选择“配置属性”>“链接器”>“高级”属性页。
选择“与 CET 影子堆栈兼容”属性。
在下拉列表控件中,选择
Yes (/CETCOMPAT)
将二进制文件标记为与 CET 影子堆栈兼容,或No (/CETCOMPAT:NO)
将其标记为不兼容。
在以前版本的 Visual Studio 2019 中:
打开项目的“属性页”对话框。 有关详细信息,请参阅设置编译器和生成属性。
选择“配置属性”>“链接器”>“命令行”属性页 。
在“附加选项”编辑控件中,添加
/CETCOMPAT
将二进制文件标记为与 CET 影子堆栈兼容,或/CETCOMPAT:NO
将其显式标记为不兼容。
以编程方式设置此链接器选项
此选项没有编程等效项。