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
相关推荐
星栈独行2 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
2601_954526752 小时前
【工业传感与算法实战】温漂补偿与零点抗漂破局:基于二阶多项式拟合的 C/C++ 边缘校准算法,深度拆解“压力变送器什么牌子好”的技术硬指标
c语言·c++·算法
qq_448011163 小时前
C语言中的变量和函数的定义与声明
android·c语言·开发语言
code_pgf3 小时前
`unordered_map` 详解
c++
孫治AllenSun4 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
一拳一个呆瓜5 小时前
【STL】iostream 编程:检测提取操作产生的错误
c++·stl
稚南城才子,乌衣巷风流5 小时前
判断素数与拓展应用
c++
众少成多积小致巨5 小时前
C++ 规范参考(下)
c++
c238565 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
moonsims6 小时前
星闪在跨域无人化系统作用
开发语言·php