Cmd W32 Hello

Command Line Win32 Hello DLL

Commandline から Win32 の Hello DLL を作成します。

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

Win32 DLL の作成

  1. Visual Studio のプロジェクトから構築する方法は、プロジェクトの設定や名前の関連が煩わしく、解り難くなります。
    それに対してコマンドプロンプトを起動して Cmdline から DLL を作成するとすっきりします。
    DLL をテストするために専用のフォルダー(C:\DATA\Cpp\DLL\)を用意して下さい。
  2. [スタートメニュー]から[すべてのプログラム][Microsoft Visual Studio 2005][Visual Studio Tools] [Visual Studio 2005 コマンド プロンプト]から起動します。
    C:\Users\maeda>CD C:\DATA\Cpp\DLL
    C:\DATA\Cpp\DLL\>CL /HELP
  3. フォルダーに HelloW32.h, HelloW32.cpp, HelloW32Main.cpp を格納して下さい。
    HelloW32.h のソースコードです。
    //HelloW32.h
    #define EXPORT extern "C" __declspec(dllexport)
    
    EXPORT void HelloMsg();
    
    HelloW32.cpp のソースコードです。
    //HelloW32.cpp
    #include <stdio.h>
    #include "HelloW32.h"
    
    EXPORT void HelloMsg()
    {
        printf("Command Line Win32 Hello DLL\n");
    }
    
    HelloW32Main.cpp のソースコードです。
    //HelloW32Main.cpp
    #include <stdio.h>
    #include <conio.h>
    #include "HelloW32.h"
    #pragma comment(lib,"HelloW32.lib")
    
    int main(void)
    {
        HelloMsg();
        _getch();
        return 0;
    }
    
  4. HelloW32.h, HelloW32.cpp をコンパイルして HelloW32.dll, HelloW32.lib を作成します。
    dllexport が設定されていると DLL と同時に LIB も作成されます。
    C:\DATA\Cpp\DLL\>CL /LD HelloW32.cpp
  5. HelloW32.dll を呼び出して実行する Main プログラム HelloW32Main.exe を作成します。
    HelloW32Main.cpp では pragma で HelloW32.lib を組み込んでいます。
    C:\DATA\Cpp\DLL\>CL HelloW32Main.cpp /FU "HelloW32.dll"
    Main() プログラムを実行します。
    C:\DATA\Cpp\DLL\>HelloW32Main.exe
    Command Line Win32 Hello DLL
    C:\DATA\Cpp\DLL\>
  6. HelloW32.dll を Win32 DLL Hello に組み込んで実行出来ることを確かめて下さい。

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