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
相关推荐
点云SLAM15 小时前
C++内存泄漏检测之编译期 /运行时工具(ASan/Valgrind)
开发语言·c++·内存管理·错误排查·内存泄漏检测工具·valgrind工具·asan工具
leaves falling15 小时前
c语言-编译和链接
c语言·开发语言
kk57915 小时前
【MATLAB R2018a】路径文件pathdef.m为只读文件无法保存到matlab启动文件夹的问题
开发语言·matlab
黎雁·泠崖15 小时前
Java静态变量底层:内存图解析+避坑指南
java·开发语言
布局呆星15 小时前
魔术方法与魔术变量
开发语言·python
Gary董15 小时前
java死锁
java·开发语言
陳103015 小时前
C++:多态
开发语言·c++
VekiSon16 小时前
ARM架构——UART 串口通信详解
c语言·arm开发·单片机·嵌入式硬件
LYS_061816 小时前
RM赛事C型板九轴IMU解算(3)(姿态融合算法)
c语言·算法·imu·姿态解算·四元数到欧拉角
m0_4972141516 小时前
qt实现打印机功能
开发语言·qt