Visual Studio で C++/CLR のプロジェクトを作成

Visual Studio の環境で C++/CLR(Common Language Runtime)のプロジェクトを作成する方法を説明します。 (^_^;)
標準仕様 CLI を Microsoft 環境(Windows環境)で実際に使うために、Microsoft系システム(ランタイム)を用意したものが CLR です。
私は vista & Visual Studio .NET2005 を使っていますが、Version によって操作法や画面が多少変わることがあります。 (^_^;)

前田稔の超初心者のプログラム入門

コンソールアプリケーション

  1. スタートから Visual Studio .NET2005 を立ち上げます。
    プロジェクトの作成は、メニューから[ファイル(F)][新規作成(N)][プロジェクト(P)]を選択して下さい。
    コンソールアプリケーションのプロジェクトは [Visual C++] [CLR] [CLR コンソールアプリケーション] から構築します。
    OS や VC++ のバージョンによって、画像や説明と多少違うことがあります。

  2. プロジェクトは専用のフォルダーに構築され、VC++ Windows Program と同様に沢山のファイルが自動的に作成されます。
    そのままビルド(コンパイル)に続いて実行を行うと、コンソール画面に "Hello World" が表示されます。
    あとはソースファイルを修正して下さい。
    ヘッダファイルを取り込むときは Stdafx.h に追加して下さい。
  3. この方法の良いところは、キーワード(関数の吊前など)をタイプすると、Class に含まれるメソッドや領域をコンパイラが教えてくれることです。
    コーディングミスの防止と、調べても解らないときの最後の切り札です。 (^_^;)
  4. 自動的に作成される Console.cpp のソースコードです。
    // Console.cpp : メイン プロジェクト ファイルです。
    
    #include "stdafx.h"
    
    using namespace System;
    
    int main(array ^args)
    {
        Console::WriteLine(L"Hello World");
        return 0;
    }
    
  5. CLI(Common Language Infrastructure) のアプリケーションと通常のアプリケーションでは、作成されるコードが違います。
    CLI のコードは native code では無く、Java のような中間コードです。
    このコードを実行するには、中間コードからネイティブコードに変換しながら実行する仕組みが必要です。
    処理速度の点では若干劣るのですが、CPU の性能が良くなり違いを感じなくなりました。
    CLI の良い所は、マシンに依存しない所と、作成されるファイルのサイズ(*.exe のサイズ)が非常に小さいことです。
    通常のアプリケーションでコンパイルして、ファイルサイズを比べてみて下さい。
    通常のアプリケーションは Win32 コンソールアプリケーションを作成 を参照して下さい。

Windows フォームアプリケーション

  1. Windows フォームアプリケーションのプロジェクトは [Visual C++] [CLR] [Windows フォームアプリケーション] から構築します。

  2. プロジェクトは専用のフォルダーに構築され、VC++ Windows Program と同様に沢山のファイルが自動的に作成されます。
    そのままビルド(コンパイル)に続いて実行を行うと、ウインドウだけが表示されます。
    あとはソースファイルを修正して下さい。
    ヘッダファイルを取り込むときは Stdafx.h に追加して下さい。
  3. この方法で作成したプロジェクトは、非常に多くのファイルが自動的に作成されます。
    これでは簡単にプログラムを作成するとは言えないかも知れません。 (^_^;)
  4. CLI のアプリケーションと通常のアプリケーションでは、作成されるコードが違います。
    通常のアプリケーションは Windows プログラムを自動的に作成する を参照して下さい。

空の CLR プロジェクト

  1. 空のプロジェクトは [Visual C++] [CLR] [空の CLR プロジェクト] から構築します。
    プロジェクトの吊前は何でもかまわないのですが、ホームページでは主に Main を使っています。

  2. プロジェクト吊を Main で構築すると、プロジェクトのフォルダーに幾つかのファイルが作成されます。
    この中で必要なファイルは Main.vcproj だけで、他のファイルは削除しても差し支えありません。
    空のプロジェクトは、このままでは実行出来ません。
    この次に記述する Main.cpp をプロジェクトに組み込んで下さい。
  3. "Hello C++/CLI managed" を表示する Main.cpp のソースコードです。
    プロジェクトのフォルダーに Main.cpp を格紊して [追加][既存項目] からプロジェクトに追加して下さい。
    /*  Main.cpp  Hello C++/CLI  */
    using namespace System;
    
    int main()
    {
        Console::WriteLine("Hello C++/CLI managed");
        Console::ReadLine();
        return 0;
    }
    
  4. ビルド(コンパイル)に続いて実行を行うと、"Hello C++/CLI managed" が表示されます。
    自動的にプロジェクトを生成する場合に比べて、非常に少ないファイル数で解りやすいプロジェクトを構築することが出来ます。 \(^o^)/
    このプロジェクトで必要なファイルは Main.vcproj と Main.cpp だけです。
  5. [空の CLR プロジェクト]を使って Windows のプログラムを作成することも出来ます。
    プロジェクトのフォルダーに Form.cpp を格紊して [追加][既存項目] からプロジェクトに追加して下さい。
    /*  Form.cpp  Windows Program  */
    #using <System.dll>
    #using <System.Windows.Forms.dll>
    #using <System.Drawing.dll>
    
    using namespace System;
    using namespace System::Windows::Forms;
    using namespace System::Drawing;
    
    // Form Class
    ref class FormClass
    {
      private:
    
      public:
        Form^ form;
    
        //Constructor
        FormClass()
        {
            form = gcnew Form();
        }
    };
    
    // Windows main
    int main()
    {
        FormClass MyForm;
        Application::Run(MyForm.form);
    
        return 0;
    }
    
  6. ビルド(コンパイル)に続いて実行すると、コンソール画面に続いて空のウインドウが表示されます。

超初心者のプログラム入門(C/C++)