工控编程吧

标题: 上位机MFC如何使用关键字_declspec (dllexport)导出函数 [打印本页]

作者: qq263946146    时间: 2019-8-10 14:42
标题: 上位机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)导出函数。
动态库就可以被外部使用了。






欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4