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
相关推荐
liangshanbo121511 小时前
虚拟列表深度面试题整理
java·开发语言·前端
ZISHU_98711 小时前
用 TLabel 给 SynTouch BioTac 数据做语义标注:从原始信号到结构化标注
开发语言·人工智能·python·数据·机器人触觉
略略略咯咯11 小时前
C#Unity
开发语言·unity·c#
gugucoding11 小时前
59. 【Java】Spring Boot 入门:第一个 Web 应用
java·开发语言·spring boot
ShineWinsu11 小时前
对于C++:C++20中线程、初始化、Lambda与内存视图等特性的解析
c++·c++20
lilian23312 小时前
Harmony os 技术实战|拼豆制图43:压缩字符矩阵上线前如何拦住错位图纸
开发语言·前端·华为·矩阵·harmonyos
进击ing小白12 小时前
Qt 无边框窗口进阶指南
开发语言·qt
点我头像干啥12 小时前
004:多个PDF文件合并
开发语言·pdf·php
En^_^Joy12 小时前
Cadence Skill脚本语言快速入门指南
开发语言
10mAh12 小时前
【Java】HashMap 的 put 到底做了什么?——冲突、扩容与树化实测
java·开发语言·hash