Windows下程序打包发布时的小技巧(使用Dependency Walker侦测不理想,改用VS自带的dumpbin则万无一失,还可查看dll导出的函数)
2017-09-08 01:27
686 查看
Windows下开发的应用程序在发布时,需要将其依赖的一些动态链接库一起打进安装包里面去。这个时候,快速确定这个程序到底依赖哪些动态链接库变得非常重要。很久以前写过一篇关于Qt程序安装包制作的博客,里面介绍了Dependency Walker这个小工具。但是实际操作起来并不理想,因为Dependency Walker将exe文件依赖的所有动态库以及动态库所依赖的动态库都列出来了。看得你一脸懵逼:
你很难分清楚:倒底哪些DLL是需要打包的,哪些DLL是系统自带的。而作为打包过程中的一个小步骤,我根本不需要知道这么多信息。这个时候,我们需要一个更加简洁明了的工具。dumpbin就是今天要介绍的主角。
这里我选择的是“VS2015 X64本机工具命令提示符”。命令行窗口打开后直接进入到工程目录,输入命令“dumpbin /IMPORTS ReplaceAETemplate.exe > output.txt”:
Duang~~~,所有依赖的DLL项都保存到output.txt里面去了。打开瞧瞧输出内容:
依赖的动态库一项项的非常清晰明了。当然,里面也会列出一些系统的动态库。这些系统动态库在系统安装时就有了,所以不用打包进去。当然就算打包进去也不会有什么害处。这个命令再配合everything这个小工具查找依赖的DLL,简直不要太爽:
结果照样重定位到output.txt中去了。这是因为如果直接在命令行中输出,前面的内容可能会被截断,导致内容看不完整。
从上面红框中可以看出,UniversalBlender.dll这个动态链接库导出了这么一些函数:capabilityAssessment, initializeDevice, runImageBlender等。
http://www.cnblogs.com/csuftzzk/p/windows_application_distribution.html
你很难分清楚:倒底哪些DLL是需要打包的,哪些DLL是系统自带的。而作为打包过程中的一个小步骤,我根本不需要知道这么多信息。这个时候,我们需要一个更加简洁明了的工具。dumpbin就是今天要介绍的主角。
二、使用
dumpbin是随Visual Studio一起发布的,在Visual Studio的“本机工具命令行”中就可以直接使用。使用的第一步就是打开Visual Studio的“本机工具命令行”:这里我选择的是“VS2015 X64本机工具命令提示符”。命令行窗口打开后直接进入到工程目录,输入命令“dumpbin /IMPORTS ReplaceAETemplate.exe > output.txt”:
Duang~~~,所有依赖的DLL项都保存到output.txt里面去了。打开瞧瞧输出内容:
依赖的动态库一项项的非常清晰明了。当然,里面也会列出一些系统的动态库。这些系统动态库在系统安装时就有了,所以不用打包进去。当然就算打包进去也不会有什么害处。这个命令再配合everything这个小工具查找依赖的DLL,简直不要太爽:
三、小结
dumpbin的IMPORTS参数是用来查看程序依赖的其他动态库的,这对于可执行程序exe和动态链接库DLL都是适用的。EXPORTS则适用于DLL查看其导出的函数接口:结果照样重定位到output.txt中去了。这是因为如果直接在命令行中输出,前面的内容可能会被截断,导致内容看不完整。
从上面红框中可以看出,UniversalBlender.dll这个动态链接库导出了这么一些函数:capabilityAssessment, initializeDevice, runImageBlender等。
http://www.cnblogs.com/csuftzzk/p/windows_application_distribution.html
相关文章推荐
- 使用dumpbin命令查看dll导出函数及重定向输出到文件(VS自带)
- 使用dumpbin(vs自带工具)命令查看dll、lib,导出函数(copy)
- 使用dumpbin命令查看dll导出函数及重定向输出到文件
- VS自带工具:dumpbin的使用查看Lib,dll等
- 使用dumpbin命令查看dll导出函数及重定向输出到文件【轉】
- 使用vs自带的dumpbin工具来查看dll、lib、或EXE文件
- VS中使用dumpbin命令查询dll中的导出函数
- 工作问题积累(十九)使用dumpbin命令查看.dll(动态链接库)中导出函数
- 使用dumpbin命令查看DLL导出函数列表
- 使用dumpbin命令查看dll导出函数及重定向输出到文件
- windows 查看DLL导出函数的方法
- Dumpbin命令查看DLL中的导出函数及LNK1181错误
- VS自带dumpbin查看程序的dll依赖
- windows下查看dll导出函数
- 使用VS2008自带的dumpbin.exe查看dll包含的函数
- 使用dumpbin查看lib导出函数
- 使用dumpbin 查看lib或 dll 中函数名和参数
- .net中查看那些函数吃CPU,使用vs自带的性能诊断工具
- 使用Advanced Installer 13.1打包发布 Windows Service服务程序
- VS自带程序打包部署发布