C/C++动态库函数导出 windows

windows上动态库需要指定导出的函数,有两种方式可以采纳

1、通过__declspec

cpp 复制代码
#ifdef _WIN32
#define DLL_EXPORT __declspec(dllexport)
#else
#define DLL_EXPORT
#endif

DLL_EXPORT int read_file(const char *filename);

2、通过.def文件

.h文件

cpp 复制代码
int read_file(const char *filename);

.def文件

cpp 复制代码
LIBRARY Test

EXPORTS
    read_file

.def文件函数别名 可以将内部的函数隐藏改个别的名字导出

cpp 复制代码
LIBRARY Test

EXPORTS
    read=read_file

编译指令:

bash 复制代码
gcc -shared -o Test.dll test.c test.def
相关推荐
老歌老听老掉牙3 分钟前
PyQt5中RadioButton互斥选择的实现方法
开发语言·python·qt
一路往蓝-Anbo5 分钟前
C语言从句柄到对象 (四) —— 接口抽象:从 Switch-Case 到通用接口
c语言·开发语言·stm32·嵌入式硬件
csbysj20206 分钟前
WebPages 数据库:构建现代网页管理的基石
开发语言
lzhdim7 分钟前
C#性能优化:从入门到入土!这10个隐藏技巧让你的代码快如闪电
开发语言·性能优化·c#
不会写代码的里奇9 分钟前
从零开发基于DeepSeek的端侧离线大模型语音助手:全流程指南
c++·后端·音视频
沐知全栈开发9 分钟前
C 标准库 - `<stdarg.h>`
开发语言
两个人的幸福online9 分钟前
给cocos 3.8 消息控制器
开发语言·javascript·ecmascript
廋到被风吹走10 分钟前
【JAVA】【JDK】java8版本之后各个版本调整
java·开发语言
悟能不能悟18 分钟前
如何处理java.time包类序列化问题,跨版本反序列化 Class对象可能抛出 InvalidClassException
java·开发语言
xxxxxxllllllshi19 分钟前
深入解析单例模式:从原理到实战,掌握Java面试高频考点
java·开发语言·单例模式·面试