C#⇒DLL(HelloMsg)

C# から C/C++ で HelloMsg 関数を登録した DLL を呼び出します。

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

プロジェクトの説明

  1. DLL が使えるようになると、一挙に多くの協力者を得ることになり、何故か「とってもプログラムがうまくなった」ような気がします。 \(^o^)/
    C/C++ の Normal Mode で作成した DLL を C# から呼び出します。
    マネージドでは「Class を登録する」のが基本ですが、CLI Normal Mode(CLR プロジェクト)では Classも関数も登録可能 です。
    呼び出される DLL の作成方法は DLL Normal Hello を参照して下さい。
  2. 「空のプロジェクト」から作成して、Dll.dll を格納します。
  3. Console.cs を格納してプロジェクトに組み込んで下さい。
    Console.cs のソースコードです。
    [DllImport()] と static extern で関数のエントリーアドレスを取得します。
    /*★ C# から HelloMsg() を呼び出す    前田 稔 ★*/
    //Console.cs 
    using System; 
    using System.Collections.Generic; 
    using System.Runtime.InteropServices; 
    using System.Text; 
    
    class console
    {
        [DllImport("Dll.dll")] 
        static extern void HelloMsg(); 
        public static int Main()
        {
            HelloMsg();
            Console.ReadLine();
            return 0;
        } 
    } 
    
  4. Visual Studio .NET を起動します。
    ソリューション・エクスプローラで「参照設定」を右クリックし「参照の追加」を選択します。
    参照の追加から[参照]タグを選び、Dll.dll を組み込みます。
    参照設定の配下に Dll が追加されます。
    画像は容量節約のため他のページと共有しているので、説明とは必ずしも一致しない場合があります。

  5. [プロジェクト(P)][Console のプロパティ(P)][ビルド][プラットホームターゲット(G)] から「x86」を選択します。
    これは C/C++ で作成した DLL が32ビットモードなので、これに合わせる為です。
    プロジェクトを実行すると "Hello DLL" が表示されます。

超初心者のプログラム入門(C# Frame Work)