/POGOSAFEMODE (以線程安全模式執行 PGO)
從 Visual Studio 2015 開始,已淘汰 /POGOSAFEMODE 選項。 請改用 /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。