depends简介

       一般情况下,一个可执行文件(exe或dll)的运行会依赖其他dll文件。

依赖项(dll),以及该exe或dll引用了这些dll中的哪些接口。同时也可以看到每个被依赖的dll中的所有导出的函数接口。

       比如我们生产了一个exe程序,显然在我们的开发环境下是可以执行这个exe程序的,但是换一个环境还可以执行吗?这就不见得了。所以我们需要知道这个exe程序都依赖哪些动态链接库,以保证程序离开了开发环境还可以正常运行。

下载与安装

       VC6.0自带的Depends软件,该软件在VC6安装目录下的tools文件夹里面   D:\Microsoft Visual Studio\Common\Tools,直接
双击执行,然后打开exe文件即可。在vs2008之后,这个软件就被移除了,所以我们需要在这里单独下载它。这个软件灰常简单,严格意义上说其实没有安装的过程,下载下来之后可以直接运行,而且压缩包中提供了依赖的dll。 

快速上手

使用起来就更加简单了,打开后直接把文件拖拽进去,有两个需要说明的地方: 
1.一般情况下我们只关注第一级的依赖关系就好了 
2.一般我们会选择“全路径”查看dll(快捷键F9),这样使我们更容易找到他们。 

PEMParser 依赖 depend依赖_导出函数

详细说明

1)所编的软件所需的Dll文件,可以得到相应的Dll路径,版本,属性等。

2)窗口分四部分:
左上角是Dll信息窗口,显示你程序所需的Dll模块,
右边第一个窗口是所选的Dll模块所使用的函数,
右边第二个窗口是所选Dll模块的所有的导出函数,
下面窗口是所有需要的Dll模块的属性

3)右边两个窗口出现四个标签:序号,提示,函数,入口点
如果利用导出是函数,那么出现函数名,如果导出的是序号,那么函数项就是N/A(无法显示)
出现红色提示表示不正常,一般为没有该导出函数

4)该工具得到的是你软件中隐式链接的Dll库,也就是用lib关联的Dll模块,
无法显示显式链接的Dll模块,也就是用LoadLibrary函数导入的Dll函数。(切记切记!)
5)无法提供Borland C++ Builder所提供的Dll文件,无法提供vxd软件的调用

下面是一个myDll:

PEMParser 依赖 depend依赖_开发环境_02

下面是一个调用myDll的test.exe

PEMParser 依赖 depend依赖_开发环境_03