前言
上回实现了自动生成sln中各project依赖图,可以分析一个VS solution里面每个project的依赖关系,但是这个太弱了。我需要exe、dll之间依赖图,所以只能继续想办法了。
思路
- 获取该软件目录下所有模块(exe和dll)
- 通过vs自带的dumpbin命令得到每个模块文件的依赖
- 画出graphviz的dot脚本
- graphviz绘图
上回实现了自动生成sln中各project依赖图,可以分析一个VS solution里面每个project的依赖关系,但是这个太弱了。我需要exe、dll之间依赖图,所以只能继续想办法了。
为了提高构建效率,需要分析sln中各project的依赖关系,将相互独立的project分配到不同机器并行构建。如果是一个个打开工程并查看dependency,然后画出依赖图,实在是太繁琐了。这就需要将这一些工作用脚本来实现。
写好的代码放在https://github.com/CodeJuan/dependency_in_sln,使用方法也很简单。