文書の過去の版を表示しています。
C++/CLI
以前のバージョン(Visual Studio 2002、2003)では、C++マネージ拡張(Managed Extensions for C++、または、Managed C++)と呼ばれていて、C++をCLR(Common Language Runtime)向けにMicrosoftが独自拡張したものであった。
Visual Studio 2005からは、C++/CLIとしてC++をCLI(共通言語基盤 - Common Language Infrastructure)向けに拡張したものとなっており、C++/CLIはそれ自身がC++と上位互換のある1つの言語としてECMA標準となりISO標準化の動きもある。
今では「C++マネージ拡張」という言葉はC++/CLI以前の古いC++拡張のことを意味しており、C++/CLIは.NET FrameworkのCLI(共通言語基盤)上で動作するプログラムを作るための新しいプログラミング言語のことを意味する。
C++マネージ拡張のコード
[C++マネージ拡張]
#include <windows.h> #using <mscorlib.dll> #using <System.Windows.Forms.dll> using namespace System::Windows::Forms; int __stdcall WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MessageBox::Show("C++マネージ拡張を使用した Hello World!"); return 0; }
構成プロパティ設定(Visual C++ 2008 Express Edition)
- [全般]
- 共通言語ランタイム サポート: 共通言語ランタイム サポート、古い構文 (/clr:oldSyntax)
- [C/C++] - [プリコンパイル済みヘッダ]
- プリコンパイル済みヘッダーの作成/使用: プリコンパイル済みヘッダーを使用しない
- [リンカ] - [システム]
- サブシステム: 設定なし
- [リンカ] - [詳細]
- エントリ ポイントなし: はい (/NOENTRY)
C++/CLIのコード
using namespace System::Windows::Forms; int main(array<System::String^>^ args) { MessageBox::Show("C++/CLIを使用した Hello World!"); return 0; }
構成プロパティ設定(Visual C++ 2008 Express Edition)
- [全般]
- 共通言語ランタイム サポート: 共通言語ランタイム サポート (/clr)
- [C/C++] - [プリコンパイル済みヘッダ]
- プリコンパイル済みヘッダーの作成/使用: プリコンパイル済みヘッダーを使用しない
- [リンカ] - [システム]
- サブシステム: Windows (/SUBSYSTEM:WINDOWS)
- [リンカ] - [詳細]
- エントリ ポイント: main
- エントリ ポイントなし: いいえ