可视化代码流的工具(C/C++)

Dpr*_*ado 70 c c++ code-analysis

您是否有任何可用的工具来简化理解C/C++代码的任务?我们刚刚继承了其他人编写的大量软件,我们需要快速掌握它.有关可能简化此任务的工具的任何建议吗?

aku*_*aku 28

SourceInsightUnderstanding for C++是c/c ++代码分析(包括流程图)的最佳工具.

  • 我想知道Linux是否有任何工具? (7认同)

Tho*_*n79 9

分析软件可让您了解已调用的功能.

如果您可以使用Linux,请尝试KCachegrind


gbj*_*anb 8

就个人而言,我使用调试器.运行代码,看看它的作用,以及它的唯一方向.

但是,您可以通过一些文档生成器(有时)帮助运行它.一个很好的例子是doxygen.

  • 我发现试图理解一个*大*代码库,你没有相当荒谬的经验.尝试在像Clang或Linux这样的项目上执行此操作.你会疯了.适合我熟悉的代码,或中小型项目恕我直言. (8认同)

And*_*ent 8

如果打开EXTRACT_ALL选项,Doxygen非常擅长从代码生成图表而不应用标记.您需要安装GraphViz才能获取使用HAVE_DOT设置生成的图表.我发现安装它并让DOT_PATH空白在Windows上正常工作,但在OS/X上必须直接指向点工具位置.

ACM Queue中有一篇优秀的Code Spelunking文章,它更多地讨论了使用doxygen和DTrace.


小智 5

KScope,基于cscope实用程序,如果您使用的是Linux(KDE).我曾经使用过(并且一直使用)最好的东西来删除一些不熟悉的代码,我必须以某种方式修改或者我将根据我的需要使用哪种API.它的功能之一是交叉引用数据库,可以通过多种方式进行搜索:您可以找到符号的所有引用,其全局定义,查找函数的调用者/被调用者等等.它甚至还具有内置IDE和显示调用图的功能.