创建 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文件)

相关推荐
乌鸦9449 分钟前
《类和对象(下)》
开发语言·c++·类和对象+
逐光沧海1 小时前
数据结构基础--蓝桥杯备考
数据结构·c++·算法·蓝桥杯
前进的程序员1 小时前
嵌入式开发中 C++ 跨平台开发经验与解决方案
开发语言·c++
菜一头包1 小时前
c++ std库中的文件操作学习笔记
c++·笔记·学习
吃个早饭3 小时前
2025年第十六届蓝桥杯大赛软件赛C/C++大学B组题解
c语言·c++·蓝桥杯
阿沁QWQ4 小时前
单例模式的两种设计
开发语言·c++·单例模式
六bring个六4 小时前
qtcreater配置opencv
c++·qt·opencv·计算机视觉·图形渲染·opengl
qwertyuiop_i4 小时前
pe文件二进制解析(用c/c++解析一个二进制pe文件)
c语言·c++·pe文件
yxc_inspire5 小时前
基于Qt的app开发第八天
开发语言·c++·qt
June`6 小时前
专题三:穷举vs暴搜vs深搜vs回溯vs剪枝(全排列)决策树与递归实现详解
c++·算法·深度优先·剪枝