/DYNAMICBASE
(使用地址空间布局随机化功能)
使用 Windows 的地址空间布局随机化 (ASLR) 功能,指定是否生成可在加载时随机重新设定基址的可执行文件映像。 ASLR 首次在 Windows Vista 中提供。
语法
]$
注解
/DYNAMICBASE
选项修改“可执行映像”、.dll 或 .exe 文件的标头,以指示应用程序是否应在加载时随机变基,并启用虚拟地址分配随机化,这会影响堆、堆栈和其他操作系统分配的虚拟内存位置。 /DYNAMICBASE
选项适用于 32 位和 64 位图像。 Windows Vista 及更高版本的操作系统支持 ASLR。 更早的操作系统忽略该选项。
默认情况下,/DYNAMICBASE
处于启用状态。 若要禁用此选项,请使用 /DYNAMICBASE:NO
。 若要 /HIGHENTROPYVA
选项生效,必需 /DYNAMICBASE
选项。
由于在 ARM、ARM64 或 ARM64EC 体系结构上无法禁用 ASLR,这些目标不支持 /DYNAMICBASE:NO
。
在 Visual Studio 中设置此链接器选项
打开项目“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性。
选择“配置属性”>“链接器”>“高级”属性页。
修改“随机基址”属性。