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
相关推荐
kyle~几秒前
C++ 原子操作、内存模型与无锁并发编程
linux·开发语言·c++·操作系统
BeiGuTing_code3 分钟前
Java泛型与Object
java·开发语言
another heaven4 分钟前
【C/C++ C++ 面向对象架构的五大特点与能力场景:封装、继承、多态、抽象与 RAII(含实战案例)】
c语言·c++·架构
2401_872418787 分钟前
互联网公开信息检索完全指南:Google、Yandex、Wayback Machine、DNS、WHOIS、Shodan 等 OSINT 工具大全
开发语言·php
HEJOO910 分钟前
Java 类加载过程详解:从加载到初始化的完整链路
java·开发语言·firefox
hahaha601617 分钟前
数字图像锐化
开发语言·python
科学熊20 分钟前
Java 分布式理论与高并发编程
java·开发语言·分布式
普贤莲花27 分钟前
先学Workbuddy还是“人工智能训练师”,或者python基础课?
开发语言·人工智能·python
星之擎30 分钟前
Task 很优雅的取消方式是什么?C# 里面。
开发语言·c#
晓蛋39 分钟前
什么是C语言
c语言·跨平台·编程语言·高级语言·低级语言