Share via


/POGOSAFEMODE (以執行緒安全模式執行 PGO)

從 Visual Studio 2015 開始,已淘汰 /POGOSAFEMODE 選項。 請改用 /GENPROFILE:EXACT /GENPROFILE:NOEXACT 選項。 /POGOSAFEMODE 連結器選項會指定已檢測的組建會建立為在設定檔引導優化 (PGO) 定型執行期間使用設定檔資料擷取的執行緒安全模式。

語法

/POGOSAFEMODE

備註

分析引導優化 (PGO) 在分析階段有兩種可能模式: 快速模式 和安全 模式 。 分析處於快速模式時,它會使用遞增指令來增加資料計數器。 遞增指令速度較快,但不是安全線程。 當分析處於安全模式時,它會使用連鎖遞增指令來增加資料計數器。 此指令的功能與遞增指令的功能相同,且為安全線程,但速度較慢。

/POGOSAFEMODE 選項會將 檢測的組建設定為使用安全模式。 只有在 PGO 檢測連結器階段指定已 淘汰的 /LTCG:PGINSTRUMENT 時,才能使用此選項。

根據預設,PGO 分析會以快速模式運作。 只有在您想要使用安全模式時,才需要 /POGOSAFEMODE

若要以安全模式執行 PGO 分析,您必須使用 /GENPROFILE:EXACT (慣用 ),或使用環境變數 Pogo保管庫Mode 或連結器參數 /POGOSAFEMODE ,視系統而定。 如果您要在 x64 電腦上執行分析,則必須使用連結器參數。 如果您要在 x86 電腦上執行分析,您可以在啟動 PGO 檢測程式之前,先使用連結器參數或將環境變數定義為任何值。

在 Visual Studio 開發環境中設定這個連結器選項

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

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

  3. 在 [連結時間程式碼產生 ] 屬性中,選擇 [ 設定檔引導式優化 - 檢測](/LTCG:PGInstrument)。

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

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

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

另請參閱

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