Share via


/CLRIMAGETYPE (CLR イメージのタイプの指定)

/CLRIMAGETYPE:{IJW|PURE|SAFE}

解説

リンカーは、/clr、/clr:pure、または /clr:safe を指定してコンパイルされた MSIL オブジェクトだけでなくネイティブ オブジェクトも受け入れます。 同じビルドに混在するオブジェクトを渡すと、生成される出力ファイルの検証可能性は、既定で入力モジュールの最低レベルの検証可能性と等しくなります。 たとえば、安全で純粋なモジュールをリンカーに渡した場合は、出力ファイルは純粋になります。 ネイティブ イメージ、および /clr を指定してコンパイルされた混合モード イメージを渡す場合、結果のイメージは混合モード イメージになります。

/CLRIMAGETYPE では、必要に応じてより低い検証可能性を指定できます。

safe イメージが 32 ビットのリソースを読み込む場合に、/CLRIMAGETYPE を使用して安全な実行可能ファイルを 64 ビット オペレーティング システムの WOW64 で実行するように指定する方法については、「/clr (共通言語ランタイムのコンパイル)」を参照してください。

64 ビット オペレーティング システムの /clr または /clr:pure を指定してコンパイルされた .exe を実行すると、アプリケーションは WOW64 で実行されるため、32 ビット アプリケーションを 64 ビット オペレーティング システム上で実行できます。 既定では、/clr:safe を指定してコンパイルされた .exe は、オペレーティング システムの 64 ビット サポートを使用して実行されます。 ただし、お使いの安全なアプリケーションで 32 ビット コンポーネントを読み込むことができます。 この場合、オペレーティング システムの 64 ビット サポートで実行している安全なイメージで 32 ビット アプリケーションを読み込もうとすると失敗します。 安全なイメージが 32 ビット アプリケーションを 64 ビット オペレーティング システムに読み込む場合に失敗せずに実行し続けるためには、/CLRIMAGETYPE (CLR イメージのタイプの指定) リンカー オプションを使用してメタデータ (.corflags) を変更し、WOW64 で実行するようにマークする (独自のエントリ シンボルに置き換える) 必要があります。

cl /clr:safe t.cpp /link /clrimagetype:pure /entry:?main@@$$HYMHXZ /subsystem:console

ファイルの CLR イメージのタイプを判断する方法については、「/CLRHEADER」を参照してください。

Visual Studio 開発環境でこのリンカー オプションを設定するには

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

  2. [構成プロパティ] ノードを展開します。

  3. [リンカー] ノードを展開します。

  4. [詳細] プロパティ ページをクリックします。

  5. [CLR イメージ タイプ] プロパティを変更します。

このリンカーをコードから設定するには

参照

参照

リンカー オプションの設定

リンカー オプション