QQ登录

只需一步,快速开始

上位机MFC如何使用关键字_declspec (dllexport)导出函数

[ 复制链接 ]
上一个帖子我们使用MFC自带的文件DEF导出函数,但其导出后的动态库不能被C#程序调用。
调用约定不匹配。
这时我们就可以使用当前帖子介绍的关键字来导出函数供用户使用。
假设我们有头文件DetectDistanceAlgorithm.h,申明了要导出的函数InitModule。
我们可以在头文件开始处添加
#ifndef CFAPI
#define CFAPI __declspec(dllimport) __stdcall
#endif

再添加申明
extern "C" void CFAPI InitModule();

假设有有源文件DetectDistanceAlgorithm.cpp,定义了要导出函数的实现InitModule。
则我们可以在源文件开始添加如下代码
#define CFAPI __declspec(dllexport) __stdcall
#include "DetectDistanceAlgorithm.h"

再添加函数的定义
extern "C" void CFAPI InitModule()
{
}

这样通过使用关键字_declspec (dllexport),_declspec(dllimport)导出函数。
动态库就可以被外部使用了。

回复

使用道具 举报

快速回复 返回列表 客服中心 搜索