混在アセンブリのためのライブラリ サポート
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 ライブラリはありません。