混在アセンブリのためのライブラリ サポート

Visual C++ では、/clr (共通言語ランタイムのコンパイル) を使用してコンパイルされたアプリケーション用に、C++ 標準ライブラリ、C ランタイム ライブラリ (CRT)、ATL、および MFC の使用がサポートされています。 そのため、これらのライブラリを使用する既存のアプリケーションでも、.NET Framework 機能を使用することができます。

重要

/clr:pure および /clr:safe コンパイラ オプションは Visual Studio 2015 では非推奨とされており、Visual Studio 2017 ではサポートされていません。

このサポートには、次の DLL とインポート ライブラリが含まれています。

  • Msvcmrt[d].lib (/clr を使用してコンパイルする場合)。 混在アセンブリは、このインポート ライブラリにリンクします。

このサポートには、いくつかの関連する利点があります。

  • CRT および C++ 標準ライブラリを混合コードで使用できます。 提供されている CRT および C++ 標準ライブラリは検証できません。最終的に、呼び出しは、ネイティブ コードから使用しているのと同じ CRT および C++ 標準ライブラリにルーティングされます。

  • 混合イメージでの適切な統合例外処理。

  • 混合イメージでの C++ 変数の静的初期化。

  • マネージド コードでの、AppDomain ごとの変数とプロセスごとの変数のサポート。

  • Visual Studio 2003 以前でコンパイルされた混在モード dll に適用される、ローダー ロックの問題が解決されます。

また、このサポートには次の制限があります。

  • /clr でコンパイルされたコードに対しては、CRT DLL モデルのみがサポートされます。 /clr ビルドをサポートする静的 CRT ライブラリはありません。

関連項目