C++マネージ拡張

C++マネージ拡張(Managed Extensions for C++, Managed C++)は、マイクロソフトが開発した、C++.NET Frameworkアプリケーションを記述するための拡張機能です。この拡張によって、C++を用いてネイティブコードだけでなく、共通言語ランタイム(CLR)をターゲットとしたアプリケーションの開発が可能になりました。この技術は、2002年にリリースされたVisual Studio .NET (2002) に含まれるVisual C++ .NET (2002) に初めて搭載されました。

しかし、2005年後半にリリースされたVisual Studio 2005では、より洗練されたC++/CLIという独立した新しい言語が登場したため、C++マネージ拡張は非推奨となりました。さらに、Visual Studio 2015では完全に廃止され、開発者にはC++/CLIへの移行が推奨されています。

マネージドC++およびC++/CLIで記述されたアプリケーションは、C#など他の.NET言語と同様に、共通中間言語(CIL)と呼ばれる中間言語にコンパイルされます。「マネージ(Managed)」という言葉は、.NET仮想マシンによって管理されながら動作することを意味します。このため、ガベージコレクションなどのCLRの機能を利用でき、C#やVB.NETといった他の.NET言語のコードとの相互運用が容易になります。

特筆すべき点として、マネージドC++およびC++/CLIでは、必要に応じて単一のアセンブリ(EXE/DLL)にネイティブコードを混在させることが可能です。これは、他の.NET言語では通常できないことであり、マネージドC++C++/CLIの大きな特徴の一つです。他の.NET言語では、P/InvokeやCOMといった技術を用いてC++コードとやり取りする必要があります。そのため、マネージドC++およびC++/CLIは、マネージコードとネイティブコードの橋渡しとしてしばしば利用されます。例えば、C/C++や他の言語で書かれた既存のライブラリを.NET環境で利用するためのラッパーライブラリを作成したり、その逆のケース、すなわち.NET環境で作成したライブラリをネイティブ環境から利用するためのラッパーライブラリを作成したりする際に重宝されます。

マネージドC++は、以下のコンパイラで利用できました。

Visual C++ .NET 2002および.NET 2003
コンパイラオプション: `/clr`
Visual C++ 2005から2013まで
コンパイラオプション: `/clr:OldSyntax`

関連事項

.NET Framework
C++/CLI

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。