/POGOSAFEMODE(在线程安全模式下运行 PGO)
/POGOSAFEMODE 选项自 Visual Studio 2015 开始已弃用。 请改用 /GENPROFILE:EXACT 和 /GENPROFILE:NOEXACT 选项。 /POGOSAFEMODE 链接器选项指定创建检测生成以在按配置优化 (PGO) 训练运行期间将线程安全模式用于配置文件数据捕获。
语法
/POGOSAFEMODE
备注
按配置优化 (PGO) 在分析阶段有两种可能的模式:快速模式和安全模式。 当分析处于快速模式时,它使用递增指令增加数据计数器。 递增指令速度更快,但不是线程安全的。 当分析处于安全模式时,它使用互锁递增指令增加数据计数器。 此指令的功能与递增指令相同,并且是线程安全的,但它速度较慢。
/POGOSAFEMODE 选项将检测生成设置为使用安全模式。 仅在 PGO 检测链接器阶段指定已弃用的 /LTCG:PGINSTRUMENT 时,才能使用此选项。
默认情况下,PGO 分析在快速模式下运行。 仅当要使用安全模式时,才需要 /POGOSAFEMODE。
若要在安全模式下运行 PGO 分析,必须使用 /GENPROFILE:EXACT(首选),或使用环境变量 PogoSafeMode 或链接器开关 /POGOSAFEMODE,具体取决于系统。 如果要在 x64 计算机上执行分析,则必须使用链接器开关。 如果要在 x86 计算机上执行分析,则可以使用链接器开关,或在开始 PGO 检测过程之前将环境变量定义为任意值。
在 Visual Studio 开发环境中设置此链接器选项
打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性。
选择“配置属性”>“链接器”>“优化”属性页。
在“链接时间代码生成”属性中,选择“按配置优化 - 检测(/LTCG:PGInstrument)。
选择“配置属性”>“链接器”>“命令行”属性页 。
将 /POGOSAFEMODE 选项输入“附加选项”框中。 选择“确定”以保存更改 。
以编程方式设置此链接器选项
- 请参阅 AdditionalOptions。