Win32 DLL Hello Class

Win32 で Hello Class を登録した DLL を作成します。

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

DLL の作成

  1. Win32 のネイティブモードでは「関数を登録」するのが基本ですが、メッセージを表示する Class を登録した DLL を作成します。
    シンプルなプロジェクトを作成するために「空のプロジェクト」から作成します。
    Visual Studio .NET を起動して[ファイル][新規作成][プロジェクト]を選びます。
    [Visual C++][Win32][Win32コンソールアプリケーション]を選択します。
    プロジェクトの名前は Hello にして下さい。

    [アプリケーションの設定]から[コンソールアプリケーション]を選択します。

  2. Hello.h と Hello.cpp をフォルダーに格納して、プロジェクトに加えます。
    Hello.h のソースコードです。
    HelloClass で HelloMsg() 関数が定義されています。
    //Hello.h
    class HelloClass 
    { public: 
        static void HelloMsg(); 
    };
    
    Hello.cpp のソースコードです。
    //Hello.cpp
    #include <stdio.h>
    #include "Hello.h"
    
    void HelloClass::HelloMsg()
    {
        printf("Hello DLL\n");
    }
    
  3. プロジェクトのプロパティで、構成プロパティ→全般ページで、構成の種類をダイナミックライブラリ(.dll)に設定します。
    文字セットは「Unicode 文字セットを使用する」です。
    ソリューションのビルドを実行すると DLL が作成されます。
    構成の種類をスタティックライブラリ(.lib)に設定します。
    ソリューションのビルドを実行すると LIB が作成されます。
    作成された Hello.dll と Hello.lib が目的のファイルです。
    デバッグが済めば Release Mode でコンパイルして下さい。

DLL を呼び出す

  1. Visual Studio .NET を起動して[Visual C++][Win32][Win32コンソールアプリケーション]を選択します。

    [アプリケーションの設定]から[コンソールアプリケーション][空のプロジェクト]を選択します。

  2. プロジェクトフォルダーに Hello.dll, Hello.lib, Hello.h, Maim.cpp を格納します。
    Maim.cpp のソースコードです。
    #pragma で "Hello.lib" をプロジェクトに組み込んでいます。
    //Main.cpp
    #include <stdio.h>
    #include <conio.h>
    #include "Hello.h"
    #pragma comment(lib,"Hello.lib")
    
    int main(void)
    {
        HelloClass   cls;
        cls.HelloMsg();
        _getch();
        return 0;
    }
    
  3. プロジェクトを実行すると "Hello DLL" が表示されます。
    Hello.lib はコンパイルするときにだけ参照されます。
    他のフォルダーにプログラムを移すときは Main.exe と Hello.dll をコピーして下さい。

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