当前位置: 首页 > news >正文

C++:动态链接库(dll)的编写,__declspec 用法详解

在 Windows 平台下编写 C++ 动态链接库 (DLL) 时,__declspec 是一个关键特性,用于控制符号的导入导出行为。以下是完整的编写指南:

1. 基本结构

头文件示例 (MyLibrary.h),宏定义MYLIBRARY_API可以任意命名,无需与头文件名一致,但是必须所有的宏定义一致。

// 防止头文件重复包含
#pragma once// 定义跨平台的导入导出宏
#ifdef MYLIBRARY_EXPORTS#define MYLIBRARY_API __declspec(dllexport)
#else#define MYLIBRARY_API __declspec(dllimport)
#endif// 导出函数
MYLIBRARY_API int AddNumbers(int a, int b);// 导出类
class MYLIBRARY_API MyExportedClass {
public:MyExportedClass();~MyExportedClass();void DoSomething();int GetValue() const;private:int m_value;
};// 导出变量
extern MYLIBRARY_API int g_exportedVar;
http://www.dtcms.com/a/256559.html

相关文章:

  • C++ 函数模板
  • RNN工作原理和架构
  • ToolsSet之:TTS及Morse编解码
  • Matplotlib绘制矩阵图,plt.matshow/imshow 与 ax.pcolor(pcolormesh)方法的使用
  • Java集合框架初识
  • 基于CNN-LSTM融合模型的环卫车动态称重算法研究:从频率感知到精准质量估计
  • [科普] 计算机寻址
  • 关于 Kyber:抗量子密码算法 Kyber 详解
  • pyqt logger类与界面分开
  • ISO 绕过 Windows 11 硬件检查:TPM/Secure Boot/CPU/RAM 及 OOBE 网络验证的完整指南
  • 【已解决】win11安装驱动提示 “The file hash value is not in the specified catalog file...”
  • 索引——高效查询的关键
  • 龙芯7A1000桥片数据手册解读(时序)
  • Python 爬虫案例(不定期更新)
  • 缓存与加速技术实践-Kafka消息队列
  • 网络安全基础:从CIA三元组到密钥交换与消息认证
  • 【软考高级系统架构论文】论 SOA 在企业集成架构设计中的应用
  • 从C++编程入手设计模式——观察者模式
  • TensorFlow 安装与 GPU 驱动兼容(h800)
  • 人工智能学习45-Incep网络
  • 经济法-4- 合同法律制度
  • 从0开始学linux韦东山教程Linux驱动入门实验班(1)
  • Web攻防-XSS跨站Cookie盗取数据包提交网络钓鱼BEEF项目XSS平台危害利用
  • 【软考高级系统架构论文】论软件系统架构风格
  • 【simulink】IEEE5节点系统潮流仿真模型(2机5节点全功能基础模型)
  • 【Java】对象
  • 操作系统内核态和用户态--1-基础认识
  • 操作系统内核态和用户态--2-系统调用是什么?
  • 分布式锁 不同的拒绝策略 应用场景 业务上的思考
  • QT vscode cmake 编译 undefined reference to `vtable for 问题解决