这是一个简单使用dll里的导出函数的例子。
代码如下
#include<windows.h>
int add(int a,int b)
{
return a+b;
}
int sub(int a,int b)
{
return a-b;
}
BOOL APIENTRY DllMain(HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved)
{
return TRUE;
}
接下来在工程里建立一个def后缀的文件,里面的的内容是
EXPORTS
add
sub
这个文件里定义了我们的导出函数
下面来看看我们的调用程序,调用的大致过程是先loadlibrary取得dll的句柄,然后再getprocaddress取得导出函数的地址
下面是代码
#include<windows.h>
#include<stdio.h>
typedef HHOOK (*FP)(int,int);
void main()
{
HMODULE dllhandle;
dllhandle=LoadLibrary("mydll.dll");
FP add=(FP)GetProcAddress(dllhandle,"add");
FP sub=(FP)GetProcAddress(dllhandle,"sub");
printf("1+3=%d/n",add(1,3));
printf("3-1=%d/n",sub(3,1));
}