Visual Studio2022 通过.def设置动态库可导出

前言:

之前我在vs环境下第一次编译出动态库,但是动态库函数无法使用,也就是没有导出里面的函数,后面我搜了很多资料解决了问题,现记录下来。

要实现库函数的导出,即可以被调用,有很多种方法,这里只说两种笔者用过的,第一种是代码层面可以实现,第二种是vs上使用.def文件实现;这篇文章介绍怎么在vs上的方法,其他方法后续文章会做介绍。

1.工具下载

推荐一个叫depends的工具,这个工具可以检测你的动态库有没有被导出;

下载地址:Dependency Walker (depends.exe) Home Page

选择适合你的电脑的版本直接下载即可;当然,也可以使用其他方法检测库函数能否导出。

打开软件,直接把生成的库拖到界面上就能打开

ps:软件很卡,基本上就是一直未响应,但是等几分钟就能加载出来。

这里显示为空,代表库都被隐藏,现在要通过.def文件设置库导出我的函数。

2.编写def文件

在解决方案的源文件里添加一个.def文件,名字可以随意取;然后编写文件内容

LIBRARY 后面是你的目标名字

EXPORTS 下面是要导出的函数名字,后面加上@1这些序号。

3.添加输入文件

如果写完之后直接运行,那么生成的dll还是没有函数导出,原因是因为没有添加输入文件,解决方法如下:

点击“调试”--“xx调试属性”,在“链接器”--“输入”里面选择添加你的文件名字,然后保存确认

重新生成解决方案,然后使用depends检测

可以看到函数都成功显示,导出成功!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值