DLLファイル


一、VC++6.0はどのようにDLLファイルを生成します
 

(1)  WIN32 Dynamic-link Library  ,    MyDll,  A simple DLL project  。
(2)MyDll.h     :
       :
  extern "C" _declspec(dllexport) int sum(int a,int b);//           sum     。
(3)MyDll.cpp     :
       :
  #include "stdafx.h" 
  #include "windows.h" 
  #include "MyDll.h" 
  BOOL APIENTRY DllMain( 
  HANDLE hModule, 
  DWORD ul_reason_for_call, 
  LPVOID lpReserved 
  ) 
  { 
  return TRUE; 
  } 
  extern "C" _declspec(dllexport)int sum(int a, int b) 
  { 
  return a+b; 
  }
(4)       MyDll.lib MyDll.dll    。

 
 
 
二、DLLを呼び出すには二つの方法がある:静的呼び出しと動的呼び出し.
dllを呼び出すには、このdllに対応するlibファイルと*が必要です.hヘッダファイル、この2つのファイルをあなたのプロジェクトにインポートして、見てください.hファイルのdllに使用可能な関数が提供されているかは、これらの関数の定義体に基づいて呼び出せばよい.
(一).静的呼び出しの手順は次のとおりです:1.君のことをDLLはあなたのターゲットプロジェクト(youApp.DLLのプロジェクトを呼び出す必要がある)のDebugディレクトリの下にコピーします.  2.君のことをlibはあなたのターゲットプロジェクト(youApp.DLLを呼び出す必要があるプロジェクト)ディレクトリの下にコピーします.  3.君のことをh(出力関数の定義を含む)ターゲットエンジニアリング(youApp.DLLを呼び出す必要があるエンジニアリング)にコピーします.  4.ターゲットプロジェクト選択プロジェクトを開き、Visual C++のProjectメインメニューのSettingsメニューを選択します.  5.ステップ4を実行すると、VCはダイアログボックスを開き、ダイアログボックスの複数ページ表示コントロールでLinkページを選択します.その後、Object/library modules入力ボックスに「youApp」と入力します.lib  6.目的のプロジェクトを選択hファイル;  7.最後に、ターゲットエンジニアリング(*.cpp、DLLの関数を呼び出す必要があります)にあなたの:#include"youApp.h"注:youAppはあなたのDLLのエンジニアリング名です.  2.動的呼び出しプログラムは以下の通りである:動的呼び出し時に静的呼び出しステップ1を行うだけである.{HINSTANCE hDllInst=LoadLibrary("youApp.DLL");if(hDllInst){typedef DWORD(WINAPI*MYFUNNC);MYFUNNC youFuntionNameAlias=NULL;//youFuntionNameAlias関数別名youFuntionNameAlias=(MYFNC)GetProcAddress(hDllInst,"youFuntionName");//youFuntionName DLLで宣言された関数名if(youFuntionName Alias){youFuntionName Alias(param 1,param 2);  }  FreeLibrary(hDllInst);  }  }