分享方式:


/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 開發環境中設定這個連結器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性

  2. 選取 [組態屬性連結器>優化]>屬性頁。

  3. 在 [鏈接時間程式代碼產生] 屬性中,選擇 [配置文件引導式優化 - 檢測](/LTCG:PGInstrument)。

  4. 選取 [組態屬性]>[連結器]>[命令列] 屬性頁。

  5. 在 [其他選項] 方塊中輸入 /POGOSAFEMODE 選項。 選取 [確定] 儲存您的變更。

若要以程式設計方式設定這個連結器選項

另請參閱

/GENPROFILE 和 /FASTGENPROFILE
/LTCG
特性指引最佳化
特性指引最佳化的環境變數