VC6.0のプロジェクトをリプレースする仕事が舞い込んできたのでC++/CLI化してみました。
※今回のはMFC使ってません。
1.VisualStudio2008で開く。まずはVC9.0化される。
2.プロジェクトのプロパティで
構成のプロパティ→全般→共通言語ランタイムサポート
で「共通言語ランタイムサポート(/clr)」を選択。
3.プロジェクトのプロパティで
構成のプロパティ→C/C++→コード生成→ランタイムライブラリ
で「マルチスレッドデバッグDLL(/MDd)」を選択。
リリースの場合は「マルチスレッドDLL(/MD)」。
4.ためしにWinMainの中に
::System::Windows::Forms::MessageBox::Show(gcnew System::String(“ハローワールド”));
を記述して実行すると、”ハローワールド”が表示されます。
驚いたことに、
::System::Windows::Forms::MessageBox::Show(“ハローワールド”);
でも”ハローワールド”が表示されます。ソースコードはshift-jisのままです。
いつだれがUnicodeにエンコードしてるんですかね?
コンパイラ賢いです。
「C++/CLI最強説」分かる気がする。
C++ = きれいなソースコード書けた時の自己満足度最高潮。
CLI = Windows系ランタイムで一番便利。
ということで、C++/CLIを女性に例えると「料理上手は、床上手」という事です。