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