创建 MFC DLL-使用关键字_declspec(dllexport)

本文仅供学习交流,严禁用于商业用途,如本文涉及侵权请及时联系本人将于及时删除

从MFC DLL中导出函数的另一种方法是在定义函数时使用关键字_declspec(dllexport)。这种情况下,不需要DEF文件。

导出函数的形式为:

cpp 复制代码
declspec(dllexport) <返回类型> <导出函数名>(<函数参数>);

【例9.2】创建一个计算正方形和圆的面积的MFC 常规DLL的动态连接库MFCLibrary2,使用关键字_declspec(dllexport)导出函数。

(1) 使用"MFC动态链接库"项目模板,在chap09解决方案中新建一个名为MFCLibrary2的MFC动态链接库项目。

(2) 在项目MFCLibrary2中添加导出函数AreaEllipse()和AreaSquare()。

cpp 复制代码
① 在MFCLibrary2.h文件中添加函数原型。
extern "C" __declspec(dllexport) double AreaEllipse(double r);
extern "C" __declspec(dllexport) double AreaSquare(double x);
cpp 复制代码
② 在MFCLibrary2.cpp文件中实现函数。
extern "C" __declspec(dllexport) double AreaEllipse(double r)
{
	return 3.1415926*r*r;
}

extern "C" __declspec(dllexport) double AreaSquare(double x)
{
	return x*x;
}

(3) 编译、链接程序,生成动态链接库MFCLibrary2.dll

找到项目MFCLibrary2所在的路径,在Debug文件夹下会看到生成的动态链接库MFCLibrary2.dll和MFCLibrary2.lib,如图所示。(解决方案下的Debug文件)

相关推荐
Mr_WangAndy2 小时前
C++_chapter15_C++重要知识点_auto,function,bind,decltype
c++·decltype·bind·function·可调用对象
万象.2 小时前
QT基础及对象树的认识
c++·qt
小张成长计划..4 小时前
【C++】2:cin和cout的介绍和使用,函数的缺省参数
c++
再卷也是菜5 小时前
C++篇(17)哈希拓展学习
c++·哈希
“愿你如星辰如月”5 小时前
Linux:进程间通信
linux·运维·服务器·c++·操作系统
灵晔君6 小时前
C++标准模板库(STL)——list的模拟实现
c++·list
Justinyh7 小时前
1、CUDA 编程基础
c++·人工智能
white-persist7 小时前
差异功能定位解析:C语言与C++(区别在哪里?)
java·c语言·开发语言·网络·c++·安全·信息可视化
ShineWinsu8 小时前
对于数据结构:链式二叉树的超详细保姆级解析—中
数据结构·c++·算法·面试·二叉树·校招·递归
liu****8 小时前
20.传输层协议TCP
服务器·网络·数据结构·c++·网络协议·tcp/ip·udp