前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >查找DLL中的函数

查找DLL中的函数

作者头像
无敌清风蓝
发布2024-06-04 19:56:54
690
发布2024-06-04 19:56:54
举报
文章被收录于专栏:无敌清风蓝无敌清风蓝

1.引言

自己在工作中,发现在一个项目是生成dll的,其中包含很多个头文件和cpp,但是其中一个头文件Test.h里面有一行代码是

代码语言:javascript
复制
bool DLL_EXPORT MyFunction(int a);

但是却没有Test.cpp来实现这个函数的定义 那就奇怪了,有了函数声明,但没有定义

2.我的思路

我的第一个思路是既然头文件是Test.h,那按照自己之前生成dll的方式,它生成的dll文件也一定叫Test.dll,用everything也没有搜到有这个文件

既然这样行不通,那我去看下是不是它又依赖其他的dll呢,打开依赖库文件,发现也没有一个叫做Test.dll或者MyFunction.dll,我这样想的原因是总觉得既然在这里生成,那应该名字也一样,现在看来,之前查的头蒙了,怎么能自己包含自己生成的dll呢,笑掉大牙

那我想有没有一个文件可以查我这个项目Test生成的Test.dll里面包含的函数呢,因为既然我的MyFunction是这个dll功能的一部分,那必然它在Test.dll里

于是发现了一款工具Dependencies,它可以查exe或者库所依赖的其他dll,之前第一次工作时,我的leader航哥就对我说过这个软件,但当时觉得这个名字好长,所以只有个印象,但没有记住

3.Dependencies

把Test.dll加载进去,点击左侧Test.dll,右边是上下两幅,上面是自己导入的,下面是给别人用的

从网上找个图代替下:

我在上面按Ctrl+F,搜MyFunction果然搜到了,并且发现它在bbb.dll中,这时我再去Test项目中看附加库依赖文件,发现确实有bbb.dll

至此问题解决

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023/06/14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.引言
  • 2.我的思路
  • 3.Dependencies
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档