__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{};

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

相关推荐
利刃大大2 小时前
【C++】设计模式详解:单例模式
c++·单例模式·设计模式
Daking-2 小时前
「数学::质数」分解质因子 / LeetCode 2521(C++)
开发语言·c++
智驾2 小时前
C++,STL,【目录篇】
开发语言·c++·stl
是阿建吖!3 小时前
【C++】特殊类设计
开发语言·c++
涛ing4 小时前
31. C语言 命令行参数
linux·c语言·开发语言·c++·vscode·vim·visual studio
闻缺陷则喜何志丹4 小时前
【C++动态规划 离散化】1626. 无矛盾的最佳球队|2027
c++·算法·leetcode·动态规划·最佳·球队·无矛盾
Kevin Kou5 小时前
编程题-三数之和(中等)
数据结构·c++·算法
咔咔咔的6 小时前
1561. 你可以获得的最大硬币数目
c++
CHANG_THE_WORLD7 小时前
C++并发编程指南07
java·jvm·c++
你好!蒋韦杰-(烟雨平生)7 小时前
第一个3D程序!
c++·数学·3d