DLLファイル
一、VC++6.0はどのように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); } }
(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); } }