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
相关推荐
qq_336313934 分钟前
HashMap
java·开发语言
宋明炜11 分钟前
VSCode + MSYS2 配置 C 语言开发环境(详细步骤)
c语言·ide·vscode
专注VB编程开发20年11 分钟前
C# int*指向 int 的指针类型(unsafe 上下文)
java·开发语言·c#
测试人社区—小叶子14 分钟前
接口测试全攻略:从Swagger到MockServer
运维·c++·人工智能·测试工具·机器人·自动化·测试用例
zfxwasaboy15 分钟前
BUG: failure at drivers/pci/msi.c:376/free_msi_irqs()!
linux·c语言·bug
要站在顶端19 分钟前
iOS自动化测试全流程教程(基于WebDriverAgent+go-ios)
开发语言·ios·golang
liwulin050620 分钟前
【PYTHON】python venv创建虚拟环境,非conda
开发语言·python·conda
fengfuyao98521 分钟前
基于MATLAB的支持向量机在故障诊断中的应用例程
开发语言·支持向量机·matlab
量子炒饭大师22 分钟前
Cyber骇客的脑机双链回流码 ——【初阶数据结构与算法】线性表之双向链表
数据结构·c++·链表
顧棟28 分钟前
JAVA、SCALA 与尾递归
java·开发语言·scala