__declspec关键字:导入 导出

一、declspec 是 Declaration Specification 可以简单理解为 声明规范

  1. __declspec(dllimport)意思是被修饰函数要从其他dll中导入

  2. __declspec(dllexport)意思是被修饰函数是要导出

二、举例说明

定义一个Export.h,文件中代码如下:

复制代码
#ifdef APPDLL_EXPORT
#define APPDLL_API __declspec(dllexport)
#else
#define APPDLL_API __declspec(dllimport)
#endif

代码意思是:

1.如果定义了APPDLL_EXPORT,那么执行if语句,执行导出dll(从当前项目导出到DLL):

#define FTAPPDLL_API __declspec(dllexport)

2.如果没有定义APPDLL_EXPORT,那么执行else语句,执行导入(从DLL导入到项目):

#define APPDLL_API __declspec(dllimport)

3.查看(文件中 或者 项目属性--C/C++--预处理--预处理定义)中,是否define定义了APPDLL_EXPORT,从而确定执行哪条语句

4.其他文件可以包含Export.h,从而进行导入导出。在需要导入/导出的(类名前、class后):添加APPDLL_API即可。

如:class FTAPPDLL_API Car{};

这个类就是要进行导入/导入的类。类中的函数正常写,不受此影响。

相关推荐
a东方青1 小时前
[蓝桥杯 2023 国 B] AB 路线 (BFS)
c++·算法·职场和发展·蓝桥杯·宽度优先
oioihoii1 小时前
C++11 Generalized(non-trivial) Unions:从入门到精通
java·开发语言·c++
C++ 老炮儿的技术栈2 小时前
文本文件与二进制文件的区别
大数据·c语言·开发语言·c++·git·算法·visual studio
君鼎2 小时前
C++标准库大全(STL)
开发语言·c++·stl
嵌入式@秋刀鱼6 小时前
《 第三章-招式初成》 C++修炼生涯笔记(基础篇)程序流程结构
linux·开发语言·数据结构·c++·笔记·visual studio code
HaiQinyanAN6 小时前
【学习笔记】重载和重写的注意事项
c++·笔记·学习
西北大程序猿7 小时前
服务器代码知识点补充
服务器·开发语言·网络·c++·网络协议
打不了嗝 ᥬ᭄8 小时前
进程控制
linux·运维·服务器·c++
yxc_inspire9 小时前
基于Qt的app开发第十四天
前端·c++·qt·app·面向对象·qss
Cai junhao10 小时前
【Qt】工具介绍和信号与槽机制
开发语言·c++·qt·qt6.3