DLL作成 方法(暗黙的リンク)


  1. 「ファイル」-「新規作成」-「プロジェクト」
  2. 「Win32プロジェクト」を選択


  3. 「アプリケーションの設定」を選択
  4. 「アプリケーションの種類」を「DLL」にする。
    「追加のオプション」を「シンボルのエクスポート」にする。


  5. ソースコードを編集する。(不要な部分をコメントアウトする。)
  6. ソース ファイル

    
    //DLL アプリケーションのエントリ ポイントを定義します。
    
    #include "stdafx.h"
    #include "dnTestDll_Dll.h"
    
    BOOL APIENTRY DllMain( HANDLE hModule, 
                           DWORD  ul_reason_for_call, 
                           LPVOID lpReserved
    					 )
    {
    	switch (ul_reason_for_call)
    	{
    	case DLL_PROCESS_ATTACH:
    	case DLL_THREAD_ATTACH:
    	case DLL_THREAD_DETACH:
    	case DLL_PROCESS_DETACH:
    		break;
    	}
        return TRUE;
    }
    
    //// これは、エクスポートされた変数の例です。
    //DNTESTDLL_DLL_API int ndnTestDll_Dll=0;
    //
    //// これは、エクスポートされた関数の例です。
    //DNTESTDLL_DLL_API int fndnTestDll_Dll(void)
    //{
    //	return 42;
    //}
    //
    //// これは、エクスポートされたクラスのコンストラクタです。
    //// クラス定義に関しては dnTestDll_Dll.h を参照してください。
    //CdnTestDll_Dll::CdnTestDll_Dll()
    //{ 
    //	return; 
    //}
    					

    ヘッダー ファイル

    
    #ifdef DNTESTDLL_DLL_EXPORTS
    #define DNTESTDLL_DLL_API __declspec(dllexport)
    #else
    #define DNTESTDLL_DLL_API __declspec(dllimport)
    #endif
    
    //
    //// このクラスは dnTestDll_Dll.dll からエクスポートされました。
    //class DNTESTDLL_DLL_API CdnTestDll_Dll {
    //public:
    //	CdnTestDll_Dll(void);
    //	// TODO: メソッドをここに追加してください。
    //};
    //
    //extern DNTESTDLL_DLL_API int ndnTestDll_Dll;
    //
    //DNTESTDLL_DLL_API int fndnTestDll_Dll(void);
    					

  7. とりあえず「Func1」という関数を追加してみる。
  8. ソース ファイルを追加して、コードを記述する。

    
    #include "stdafx.h"
    #include "dnTestDll_Dll.h"
    
    using namespace std;
    
    DNTESTDLL_DLL_API void CCONV Func1(void)
    {
    	cout << "FUNC1\n";
    	return;
    }
    				

    ヘッダー ファイルにコードを記述する。

    
    #ifdef DNTESTDLL_DLL_EXPORTS
    #define DNTESTDLL_DLL_API __declspec(dllexport)
    #else
    #define DNTESTDLL_DLL_API __declspec(dllimport)
    #endif
    
    #define	CCONV	_stdcall
    
    //テスト関数
    DNTESTDLL_DLL_API void CCONV Func1(void);
    					

     

  9. EXEファイルのプロジェクトにDLL追加する。



  10. ライブラリ ファイルを追加する。



  11. EXEファイルのプロジェクトにDLLのヘッダーファイルを追加する。



  12. これでOKです。

 


<戻る>