DLL String class

msg=[文字列表示 Class] leng=11

String Class の引数を受けて表示する DLL を作成します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

ref DLL の作成

  1. Visual Studio .NET を起動して「空の CLR プロジェクト(名前は Dll)」を選択します。

  2. StrClass.h と StrClass.cpp をプロジェクトのフォルダーに格納します。
    StrClass.h のソースコードです。
    // StrClass.h
    #pragma once
    using namespace System;
    
    namespace StrClass
    {
        public ref class STRCLASS
        {
          public:
            void  StrMsg(String^ msg);
        };
    }
    
    StrClass.cpp のソースコードです。
    //StrClass.cpp
    #include "StrClass.h"
    
    namespace StrClass
    {
        void  STRCLASS::StrMsg(String^ msg)
        {
            Console::WriteLine("msg=[{0}]  leng={1}", msg,msg->Length);
        }
    }
    
  3. メニューの[追加][既存項目]から StrClass.h と StrClass.cpp をプロジェクトに追加します。
  4. プロジェクトのプロパティで[構成プロパティ][全般ページ]から構成の種類をダイナミックライブラリ(.dll)に設定します。
    文字セットは「Unicode 文字セットを使用する」です。

  5. ソリューションのビルドを実行すると Dll.dll が作成されます。
    これが目的の DLL(Dynamic Link Library) です。
    デバッグが済めば Release Mode でコンパイルして下さい。
  6. ここで作成した Dll.dll を C# から呼び出すことが出来ます。
    C#⇒CLI/StringDLL を参照して下さい。
    マネージドモードでは、CLI と C# 間で String Class に互換性があるはずです。

DLL を使う

  1. Visual Studio .NET を起動して「空の CLR プロジェクト(名前は Main)」を選択します。

  2. プロジェクトのフォルダーに Main.cpp を格納して、プロジェクトに取り込みます。
    Main.cpp のソースコードです。
    StrClass は DLL の namespace の名前です。
    // Main.cpp
    using namespace System;
    using namespace StrClass;
    
    int main(array ^args)
    {   STRCLASS    cls;
        cls.StrMsg("文字列表示 Class");
        System::Console::ReadLine();
        return 0;
    }
    
  3. プロジェクトのフォルダーに Dll.dll をコピーします。
    メニューから[プロジェクト(P)][Consoleのプロパティ]を開きます。
    [共通プロパティ-参照設定]から[新しい参照の追加]を選択します。
    参照の追加から[参照]タグを選び、Dll.dll を組み込みます。

  4. プロジェクトを実行すると次のメッセージが表示されます。
    msg=[文字列表示 Class] leng=11

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