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))这样的解析.