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
相关推荐
stripe-python5 分钟前
十二重铲雪法(上)
c++·算法
u***357415 分钟前
对基因列表中批量的基因进行GO和KEGG注释
开发语言·数据库·golang
像风一样的男人@16 分钟前
python --打包pyd或so文件
开发语言·python
Geoking.18 分钟前
什么是乐观锁?原理、实现方式与实战详解
java·开发语言
愚者游世19 分钟前
long long各版本异同
开发语言·c++·程序人生·职场和发展
低代码布道师1 小时前
Next.js 16 全栈实战(三):数据库建模与动态菜单实现
开发语言·javascript·数据库
MediaTea1 小时前
Python:生成器对象的扩展接口
开发语言·网络·python
前路不黑暗@1 小时前
Java项目:Java脚手架项目的模板服务和网关服务的实现(三)
java·开发语言·spring boot·git·学习·spring cloud·maven
你怎么知道我是队长1 小时前
C语言---排序算法8---递归快速排序法
c语言·算法·排序算法
白太岁2 小时前
操作系统开发:(8) 任务/线程的创建、调度与管理(实现 tasks.h 与 tasks.c)
c语言·开发语言·bash