次の方法で共有


/Gy (関数レベルのリンクの有効化)

各関数をパッケージ化された関数 (COMDAT) 形式でパッケージ化します。

/Gy[-]

解説

リンカーでは、DLL または .exe ファイルの各関数を除外したり順序付けたりするために、その関数を COMDAT として別にパッケージ化する必要があります。

リンカー オプションの /OPT (最適化) を指定すると、.exe ファイルから未参照のパッケージ化された関数が除外されます。

リンカー オプションの /ORDER (関数の順序) を指定すると、パッケージ化された関数が指定された順序で .exe ファイルに含められます。

インライン関数は、呼び出しとしてインスタンス化される場合は (たとえば、インライン化が無効な場合や関数のアドレスを取得する場合など)、常にパッケージ化されます。また、C++ のクラス宣言内で定義されているメンバー関数は、自動的にパッケージ化されます。ただし、他の関数は自動的にはパッケージ化されないため、このオプションを指定してこれらの関数をパッケージ化します。

[!メモ]

エディット コンティニュに対して /ZI オプションを使用すると、/Gy オプションが自動的に設定されます。

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

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

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

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

  4. [関数レベルでリンクする] プロパティを変更します。

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

参照

関連項目

コンパイラ オプション

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