您的位置:首页 > 编程语言 > C语言/C++

使用C++调用C++ dll的关键步骤

2010-11-24 08:24 357 查看
被调用的dll项目

/*dllDemo.h中*/
extern "C" _declspec(dllexport) void Func(void); //接口函数声明

/*dllDemo.cpp中*/
#include "dllDemo.h"
extern "C" _declspec(dllexport)void Func(void) //接口函数定义
{
return;
}
_declspec,Declare Specification,这个关键字可以理解为声明规范。它有许多用法,语法如下:

__declspec ( extended-decl-modifier-seq )配合dllexport和dllimport,分别表示导入和到导出dll接口函数。

调用dll的项目 - 显式调用

1)只需要dll文件

2)在调用处用法如下

代码// a)声明一个和dll接口函数规则相同的函数指针
typedef void(*pFunc)(void);
pFunc doFunc=NULL;
// b)加载动态链接库dll文件;
HINSTANCE hDLL;
hDLL = LoadLibrary("dllDemo.dll");
// c)本地函数指针获得dll中的接口函数;
doFunc=(pFunc)GetProcAddress(hDLL,"Func");
// d)调用
if(doFunc)
{
doFunc();
}3)调用完毕可以使用Freelibrary(hDLL)释放dll文件。

调用dll的项目 - 隐式调用

1)需要dll

2)需要lib,并且在项目依赖项中添加

3)调用处代码如下

//a) cpp头部声明来自dll的外部接口函数,函数名必须一样。
extern "C"_declspec(dllimport) void Func(void);

int main()
{
//b) 像使用其他函数一样使用dll接口函数
Func();

return 0;
} 4)运行期间无法释放dll。

整理自:/article/5095048.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: