查看dll导出的符号

有时出于好奇,我们总想知道别人提供的DLL里面到底导出了哪些函数、哪些变量,使用dumpbinDepends便可以做到这一点。本文以ACE examples 中的export_dlld.dll为例说明其用法。

1、 dumpbin

假设export_dlld.dll位于F:\ACE-5.4.1+TAO-1.4\ACE-5.4.1+TAO-1.4\ACE_wrappers\examples\Export

在命令行中利用dumpbin罗列其对外导出的东东的流程如下:

F:回车→cd F:\ACE-5.4.1+TAO-1.4\ACE-5.4.1+TAO-1.4\ACE_wrappers\examples\Export回车→dumpbin –exports export_dlld.dll回车后出现以下结果


如果所要查询的DLL在桌面上就更简单了,可以直接把路径拷贝然后dumpbin.

也可以利用dumpbin查看export_dlld.dll用到别的什么库了,方法同上面只不过要把-exports”改成“-imports即可。


2Depends


!!!该工具列出的是隐式链接的DLL模块,无法列出显式(也就是用LoadLibrary导入)的。


也可以用VS2005提供的工具“Depends”完成这一功能。在VS2005中:工具→DependsFileOpen打开你想要查询的文件即可。


上图红色方框是这个DLL中用到的别的DLL的名称,圆圈部分使其导出的东东。

如果VS2005:工具菜单里面没有“Depends”,可以自己手工的添加:工具→外部工具(E→添加(A)→填写新工具的标题,点击“命令(C)”右边的浏览对话框,“Depends”就在C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin目录下。

3VC6.0VS2005

一直都在用VC6.0OUT了?),最近心血来潮想感受一下VS2005。在新的平台下一切都是新的,在VC6.0中习惯了使用“Ctrl+W”的方式来添加命令响应,在VS2005中是不识别这个组合键的。

可以这么做:在要添加命令响应的类视图上点击右键,选择“属性”在出现的窗口上方有这样一排按钮如下:


在方框内的依次是:“事件”你可以为控件添加命令响应,“消息”可以添加各种消息,“重写”可以重写相应的虚函数。

以上是这两天学习收获,不对的地方请轻拍赐教!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: makeexport dll导出lib是一个非常常见的操作。一般来说,这是因为我们需要将一个动态链接库中的函数导出到一个静态链接库中,以供其他代码使用。这个过程需要使用一些工具,主要有两个,分别是makeexports和lib。 首先,我们需要使用makeexports工具来生成一个.def文件,该文件列出了我们想要导出的函数和它们在库中的名称。然后,我们可以使用lib工具将这些导出函数生成为一个静态链接库。这个过程确保了我们可以使用这些函数而不需要动态加载它们。 makeexports工具和lib工具都是微软Visual Studio开发环境自带的工具,可以在命令行中使用。如果你使用的是其他编译器或开发环境,则可以使用类似的工具来实现相同的目的。 总的来说,将动态链接库导出为静态链接库是一个重要的操作,使我们可以将函数共享给其他代码而不需要它们运行时被动态加载。 ### 回答2: makeexport是一个工具,用于从动态链接库(DLL)中导出函数。这个工具可以通过在命令行中指定DLL导出函数列表来生成一个LIB文件,这个LIB文件包含DLL导出函数的符号和地址信息,以便在链接期间使用。 如果你需要使用某个DLL中的函数,但是没有相应的头文件和LIB文件,那么你可以使用makeexport工具来生成一个LIB文件。具体操作步骤如下: 1. 下载makeexport工具; 2. 在命令行中运行makeexport,并指定需要生成LIB文件的DLL以及导出函数列表; 3. 执行完命令后,会在当前目录下生成一个LIB文件; 4. 将LIB文件添加到你的项目中,以便在链接期间使用。 需要注意的是,使用makeexport工具生成的LIB文件只包含DLL中指定的导出函数。如果你需要使用DLL中其他的函数,你需要使用其他工具或手动编写相应的头文件和LIB文件。 总的来说,使用makeexport工具来生成LIB文件可以方便地使用DLL中的函数,但是需要注意生成的LIB文件不一定包含所有函数信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值