动态库的两种调用方式

一、静态调用
1、添加动态库函数声明头文件
2、在.h文件中添加如下语句
#pragma comment(lib, ".\\****.lib")
.\\****.lib为动态库的绝对路径。
就可以调用动态库中的函数了。

二、动态调用

1、定义一个与动态库函数接受参数类型和返回值均相同的函数指针类型。
typedef int (* lpAddFun)(int ,int);
lpAddFun addFun;
2、HINSTANCE hDll;
hDll=LoadLibrary("****.dll");//动态加载DLL模块句柄
3、得到所加载DLL模块中函数的地址
addFun=(lpAddFun) GetProcAddress(hDll,"Add_new");
之后就可以使用

提示若动态库程序和调用动态库的程序在一个解决方案中可以利用项目依赖项,定义项目生成顺序。也可以在调用动态库程序右键属性 -> c/c++ ->常规的附加包含目录中填入动态库目录。然后用形如
#ifdef _DEBUG
#pragma comment(lib,"..\\Debug\\TestDll.lib")
#else
#pragma comment(lib,"..\Release\\TestDll.lib")
#endif
这种方式静态加载动态库

你可能感兴趣的:(C/C++)