/GF (同一文字列の削除)

更新 : 2007 年 11 月

実行時にプログラム イメージおよびメモリで、同一文字列のコピーが 1 つだけ作成され、プログラム サイズが小さくなります。この最適化処理を文字列プールと呼びます。

/GF

解説

/GF は、読み取り専用として文字列をプールします。

/GF を使用すると、オペレーティング システムではメモリの文字列部分をスワップせず、イメージ ファイルから文字列を読み戻すことができます。/GF で文字列の変更を試みると、アプリケーション エラーが発生します。

文字列プールを使用すると、複数のポインタで複数のバッファを指したつもりでも、それらの複数のポインタで 1 つのバッファを指すことができます。次のコードでは、s と t が同じ文字列で初期化されます。文字列プールを使用すると、s と t は同じメモリを指します。

char *s = "This is a character buffer";
char *t = "This is a character buffer";
s0s0asdt.alert_note(ja-jp,VS.90).gifメモ :

エディット コンティニュに対して /Z7、/Zi、/ZI (デバッグ情報の形式) オプションを使用すると、/GF オプションが自動的に設定されます。

/O1、/O2 (プログラム サイズ、実行速度) または /O2 を使用するとき、/GF が有効になっています。

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

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

  2. [C/C++] フォルダをクリックします。

  3. [コード生成] プロパティ ページをクリックします。

  4. [文字列プール] プロパティを変更します。

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

参照

参照

コンパイラ オプション

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