/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 开发环境中设置此链接器选项

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

  2. 选择“配置属性”>“链接器”>“优化”属性页

  3. “链接时间代码生成”属性中,选择“按配置优化 - 检测(/LTCG:PGInstrument)

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

  5. 将 /POGOSAFEMODE 选项输入“附加选项”框中。 选择“确定”以保存更改 。

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

另请参阅

/GENPROFILE 和 /FASTGENPROFILE
/LTCG
按配置优化
用于按配置优化的环境变量