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
相关推荐
豐儀麟阁贵9 分钟前
8.1 异常概述
java·开发语言
czhc114007566324 分钟前
C# 1124 接收
开发语言·c#
麦烤楽鸡翅1 小时前
简单迭代法求单根的近似值
java·c++·python·数据分析·c·数值分析
[J] 一坚2 小时前
深入浅出理解冒泡、插入排序和归并、快速排序递归调用过程
c语言·数据结构·算法·排序算法
司铭鸿2 小时前
祖先关系的数学重构:从家谱到算法的思维跃迁
开发语言·数据结构·人工智能·算法·重构·c#·哈希算法
wavemap2 小时前
先到先得:免费订阅一年ChatGPT Go会员
开发语言·chatgpt·golang
sulikey2 小时前
C++ 四十年:一段跨越时代的语言旅程
c++·c++40周年
m***D2863 小时前
JavaScript在Node.js中的内存管理
开发语言·javascript·node.js
我叫张小白。3 小时前
JavaScript现代语法梳理:ES6+核心特性详解
开发语言·javascript·typescript·es6
-森屿安年-3 小时前
LeetCode 283. 移动零
开发语言·c++·算法·leetcode