VC++中加载DLL

来源:互联网 发布:quiver mac 编辑:程序博客网 时间:2024/04/29 14:53

方法一 静态加载:
如果你是用MFC 生成的DLL。那么你至少有3个文件:a.dll,a.lib,a.h.你要把这3个文件复制到你的工程文件夹中,然后在VC6的project/setting/link/object/library modules中填写a.lib。在你的工程的CPP文件中,#include "a.h"

方法二 动态加载:
假设函数为
int add(int x, int y)
{
return x + y;
}

typedef int(*lpAddFun)(int, int); //宏定义函数指针类型
HINSTANCE hDll; //DLL句柄

lpAddFun addFun; //函数指针

hDll = LoadLibrary("..//Debug//dllTest.dll");

if (hDll != NULL)

{

addFun = (lpAddFun)GetProcAddress(hDll, "add");

if (addFun != NULL)

{

int result = addFun(2, 3);

printf("%d", result);

}

FreeLibrary(hDll);