分享方式:


/Gw (最佳化全域資料)

將全域資料封裝在 COMDAT 區段中以進行最佳化。

語法

/Gw[-]

備註

/Gw 選項會使編譯程式封裝個別 COMDAT 區段中的全域數據。 /Gw 預設為關閉,且必須明確啟用。 若要明確停用它,請使用 /Gw-啟用 /Gw/GL 時,鏈接器會使用整個程式優化來比較多個物件檔案之間的 COMDAT 區段,以排除未參考的全域數據或合併相同的只讀全域數據。 這可以大幅減小產生的二進位可執行檔之大小。

當您個別編譯和連結時,可以使用 /OPT:REF 鏈接器選項,從使用 /Gw 選項編譯之物件檔中未參考的全域數據可執行檔中排除。

您也可以使用 /OPT:ICF/LTCG 連結器選項,將可執行檔中的任何相同唯讀全域數據合併至使用 /Gw 選項編譯的多個物件檔案。

如需詳細資訊,請參閱 C++小組部落格上的 /Gw 編譯程式切換 簡介。

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

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

  2. 選取 [組態屬性]>[C/C++]>[命令列] 屬性頁。

  3. 修改 [其他選項] 屬性以包含 /Gw,然後選擇 [確定]。

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

另請參閱

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