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
相关推荐
程序员小寒5 小时前
JavaScript设计模式(九):工厂模式实现与应用
开发语言·前端·javascript·设计模式
派大星酷5 小时前
线程池-----Executors
java·开发语言
小碗羊肉5 小时前
【从零开始学Java | 第二十八篇】可变参数
java·开发语言
itman3015 小时前
C语言errno.h头文件:错误处理机制及errno变量特点说明
c语言·错误码·库函数·错误处理·errno.h
weitingfu5 小时前
Excel VBA 入门到精通(二):变量、数据类型与运算符
java·大数据·开发语言·学习·microsoft·excel·vba
foundbug9995 小时前
无人机离散系统模型预测控制(MPC)MATLAB实现
开发语言·matlab·无人机
6Hzlia5 小时前
【Hot 100 刷题计划】 LeetCode 215. 数组中的第K个最大元素 | C++ 快速选择与堆排序题解
c++·算法·leetcode
爱编码的小八嘎6 小时前
C语言完美演绎7-2
c语言
爱写代码的小朋友6 小时前
使用 Nuitka 打包 Python 应用:从入门到进阶
开发语言·python
yuan199976 小时前
C# 断点续传下载文件工具设计与实现
开发语言·c#