Depends简介与使用说明

Depends是个开源软件,刚发现,试用之后,效果惊艳。

它可以分析代码依赖关系。作为一个基础工具,仅仅提供了命令行。但通过graphviz(亲测可用),plantuml,DV8这些开源或者商业的工具,能基于depends的数据进行输出。

Depends生成的数据,直接进行展示,有时会出现线过多根本看不清的问题,如下图:

图1.png

 

为此做了一个优化工具depends_opt,通过它可以优化数据,然后再提交给graphviz展示。

有关的使用方法及depends_opt,见附。

在实际项目中,选取了2个模块的代码,进行分析,示意如下:

 

图2.png

 

图3.png

 

 

提供简单使用说明,方便整理出代码模块关系图,从而能直观感受模块的当前状态,希望能对模块改进有所帮助。

约定:

  1. 以文件为最小单位,而不是以函数为最小单位。(这应该是depends的要求)

使用方法:

  1. 使用depends分析代码

java -jar tools\depends.jar --auto-include --format=dot cpp f:\...\VirtualGponOnu\ ponup_gpon

正常的话,会生成 ponup_gpon.dot

  1. 优化分析结果

tools\depends_opt ponup_gpon.dot 20

正常的话,会生成 ponup_gpon_2.dot

过程中,会打印出调用次数过大的扇入扇出文件名称。

  1. 使用graphviz展示

首先安装graphviz。

使用 GVEdit 打开 ponup_gpon_2.dot,就能看到展示图了。

通过 菜单graph -- setting 可以根据需要生成 png/pdf 等格式的文件。

注意事项:

  1. Java建议安装最新的版本。
  2. Pdf文档非常宽,建议使用foxit打开。
  3. 上文粗体字,使用时需要根据自己的情况修改。
  4. 在展示方面,因为graphviz不接受”.”,所以,.h ,.c 以 _h, _c 显示。

 

附:

  1. Depends  https://github.com/multilang-depends/depends/releases/
  2. Graphviz  http://graphviz.org/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值