应用简介
Understand是一款非常游戏的代码阅读软件,是维护,测量,分析与关键或大型代码库的静态分析工具。从指标和图表来依赖分析,掌握与了解你的源代码。
【软件特色】
1、支持多语言:Ada, C, C++, C#, Java, FORTRAN, Delphi, Jovial, and PL/M ,混合语言的project也支持
2、多平台: Windows/Linux/Solaris/HP-UX/IRIX/MAC OS X
3、代码语法高亮、代码折迭、交叉跳转、书签等基本阅读功能。
4、可以对整个project的architecture、metrics进行分析并输出报表。
5、可以对代码生成多种图(butterfly graph、call graph、called by graph、control flow graph、UML class graph等),在图上点击节点可以跳转到对应的源代码位置。
6、提供Perl API便于扩展。作图全部是用Perl插件实现的,直接读取分析好的数据库作图。
7、内置的目录和文件比较器。
8、支持project的snapshot,并能和自家的TrackBack集成便于监视project的变化。
【注意事项】
功能比sourceinsight多些(比如enum的值的显示),而且#ifdef包含的比较多嵌套,sourceinsight如果太多嵌套,有bug。流程图之类也比sourceinsight完整。sourceinsight的显示明显好多了,而且体积比较小,编辑速度快,可能是用熟的关系,还是sourceinsight比较顺手。
可惜sourceinsight太长时间没有更新了。 现在我一般用sourceinsight,需要看某些SI没有的用understand。另外好像两个软件都不太支持#if (defined(MACRO) || defined(MACRO1))这样的解析。