有时出于好奇,我们总想知道别人提供的DLL里面到底导出了哪些函数、哪些变量,使用dumpbin和Depends便可以做到这一点。本文以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”即可。
2、Depends
!!!该工具列出的是隐式链接的DLL模块,无法列出显式(也就是用LoadLibrary导入)的。
也可以用VS2005提供的工具“Depends”完成这一功能。在VS2005中:工具→Depends→File→Open打开你想要查询的文件即可。
上图红色方框是这个DLL中用到的别的DLL的名称,圆圈部分使其导出的东东。
如果VS2005:工具菜单里面没有“Depends”,可以自己手工的添加:工具→外部工具(E)…→添加(A)→填写新工具的标题,点击“命令(C)”右边的浏览对话框,“Depends”就在C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin目录下。
3、VC6.0→VS2005
一直都在用VC6.0(OUT了?),最近心血来潮想感受一下VS2005。在新的平台下一切都是新的,在VC6.0中习惯了使用“Ctrl+W”的方式来添加命令响应,在VS2005中是不识别这个组合键的。
可以这么做:在要添加命令响应的类视图上点击右键,选择“属性”在出现的窗口上方有这样一排按钮如下:
在方框内的依次是:“事件”—你可以为控件添加命令响应,“消息”—可以添加各种消息,“重写”—可以重写相应的虚函数。
以上是这两天学习收获,不对的地方请轻拍赐教!