VC中dll的使用方式

VC中dll的使用方式

1 首先生成dll
在vc中新建win32 dll项目,定义函数,如下:
#include <windows.h>

__declspec(dllexport) int add(int a, int b)
{
return a+b;
}
需要用__declspec(dllexport)声明哪些函数是要在dll中export的。
之后编译生成dll。
用vs自带的Dependency Walker可以看到函数被export了。

2 使用dll
先用LoadLibrary加载动态库:
HINSTANCE hdll = LoadLibrary("dll_test.dll");
if (! hdll)
{
printf("load dll error\n");
return -1;
}

再用GetProcAddress获得需要使用的函数指针:
typedef int(*padd)(int, int);
padd add;
add = (padd)GetProcAddress(hdll,"add");
    if (! add)
    {
printf("get add error\n");
return -1;
    }

再就可以使用了:
add(a, b)


dll使用的第二种方式

调用工程连接动态库带的lib文件(在VC的project setting中的dependency中加入),函数声明和dll中的完全一致。
另,这种情况下应该会调用DllMain。
(参见windows程序设计-动态链接库一章)

转:http://blog.csdn.net/hellomike/archive/2009/10/24/4719338.aspx

你可能感兴趣的:(windows,.net,Blog,vc++)