/Gm (啟用最少重建)

已取代。 啟用最少重建,其可判定是否需要重新編譯包含已變更 C++ 類別定義 (儲存於標頭 (.h) 檔) 的 C++ 原始程式檔。

語法

/Gm

備註

/Gm 已被取代。 它可能不會針對某些類型的標頭檔變更觸發組建。 您可以安全地從專案移除此選項。 若要改善建置時間,建議您改用先行編譯標頭和累加和平行建置選項。 如需已淘汰的編譯器選項清單,請參閱 依類別 列出的編譯器選項中 已被取代和移除的編譯器選項 一節。

編譯器在第一次編譯期間,會在專案的 .idb 檔中,儲存原始程式檔與類別定義之間的相依性資訊 (相依性資訊會告知哪個原始程式檔與哪個類別定義相依,以及該定義位於哪個 .h 檔)。後續編譯會使用儲存在 .idb 檔中的資訊,來判定是否需要編譯原始程式檔,即使其包括已修改的 .h 檔。

注意

最少重建依賴於包含檔之間未變更的類別定義。 對於專案來說,類別定義必須是全域的 (給定類別應該只有一個定義),這是因為 .idb 檔中的相依性資訊是針對整個專案建立的。 如果專案中類別具有多個定義,請停用最少重建。

由於累加連結器不支援使用 /ZW (Windows 執行階段 編譯) 選項包含在 .obj 檔案中的 Windows 中繼資料, 因此 /Gm 選項與 /ZW 不相容。

在 Visual Studio 開發環境中設定這個編譯器選項

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

  2. 選取 [ 組態屬性 > C/C++ > 程式碼產生 ] 屬性頁。

  3. 修改 Enable Minimal Rebuild 屬性。

若要以程式方式設定這個編譯器選項

另請參閱

MSVC 編譯器選項
MSVC 編譯器命令列語法