Visual Studio 2017 を使用することをお勧めします

/Gw (グローバル データの最適化)

 

公開日: 2016年7月

Visual Studio 2017 RC の最新のドキュメントの詳細については、Visual Studio 2017 RC ドキュメントをご参照ください。

グローバル データを最適化のために COMDAT セクションにパッケージ化します。

/Gw[-]  

/Gw オプションを指定すると、コンパイル時、グローバル データが個々の COMDAT セクションにパッケージ化されます。 既定では、/Gw は無効になっており、明示的に有効にする必要があります。 明示的に無効にするには、/Gw- を使用します。 /Gw/GL の両方を有効にすると、リンク時に、プログラム全体の最適化を使用して、複数のオブジェクト ファイル間で COMDAT セクションが比較され、それにより、参照されないグローバル データが除外されたり、同一の読み取り専用のグローバル データがマージされたりします。 その結果、生成されるバイナリ実行可能ファイルのサイズが大幅に小さくなることがあります。

コンパイルとリンクを別々に実行するときは、/OPT:REF リンカー オプションを使用することで、/Gw オプションを指定してコンパイルしたオブジェクト ファイルの参照されないグローバル データを実行可能ファイルから除外できます。

また、/OPT:ICF/LTCG のリンカー オプションを一緒に使用することで、/Gw オプションを指定してコンパイルした複数のオブジェクト ファイルの同一の読み取り専用のグローバル データを実行可能ファイルにマージできます。

詳細については、Visual C++ チーム ブログの「Introducing /Gw Compiler Switch (/Gw コンパイラ スイッチの概要)」を参照してください。

Visual Studio 開発環境でこのコンパイラ オプションを設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、「プロジェクトのプロパティの操作」を参照してください。

  2. [C/C++] フォルダーを選択します。

  3. [コマンド ライン] プロパティ ページを選択します。

  4. /Gw が含まれるように "追加オプション" プロパティを変更し、[OK] をクリックします。

このコンパイラ オプションをコードから設定するには

コンパイラ オプション
コンパイラ オプションの設定

表示: