是否有任何工具可以帮助绘制一个大型C库?我正在进行一个将现有C库移植到C++的项目。C库在很大程度上没有文档化,没有图表。我想用一个案例工具来帮助我理解各种文件是如何交互的。大多数文件中都有外部变量。
如果可能的话,我更希望有一个可视化的图表来更好地理解代码的流程。我不熟悉程序语言的图表工具(或者如果它存在的话)。我记得在大学里,我们用层次结构和数据流图来描述程序语言。
我知道有很多工具来描绘OO语言,但我想要一个C。任何帮助都将不胜感激。
建议
强力氧原
它可以在三方面帮助你: 它可以从一组文档源文件生成在线文档浏览器( HTML)和/或脱机参考手册(in )。还支持在RTF (MS-Word)、PostScript、超链接PDF、压缩HTML和Unix手册页中生成输出。文档是直接从源代码中提取的,这使得使文档与源代码保持一致变得更加容易。您可以配置doxygen从无文档的源文件中提取代码结构。这对于在大型源发行版中快速找到方法非常有用。您还可以通过包含依赖关系图、继承图和协作图来可视化各个元素之间的关系,这些关系图都是自动生成的。您甚至可以“滥用”doxygen来创建正常的文档。
顺铂
提高您的代码基础质量。CppDepend是一种简化复杂C\C++ (原生、混合和COM)代码库管理的工具。架构师和开发人员可以通过比较不同版本的代码来分析代码结构、指定设计规则、进行有效的代码评审和掌握演化过程。这些案例研究显示了CppDepend对于深入了解您的体系结构、设计和实现的实用价值。重构和改进您的设计和架构。CppDepend提供了有用的图表来分析您的设计和架构。CQL语言为您提供了创建自定义查询的灵活性,并深入了解了您的代码库。下面是一个使用CppDepend来帮助您重构的示例。协助你的迁徙。了解现有的迁移。CppDepend帮助您在迁移过程中,您可以在这里找到在您的迁移过程中使用CppDepend的优点。
ctag
索普
发布于 2010-10-17 20:13:02
含氧可以生成各种类型的交互图-文件、函数调用等。使用EXTRACT_ALL配置变量集,它将生成图表和交叉引用的文档,即使没有文档注释的代码也是如此。
发布于 2010-10-17 21:13:33
如果您在Windows上工作,CppDepend使用一种查询语言和在依赖关系图中移动的能力扩展了you。
发布于 2010-10-17 20:33:58
尼克·迈耶提到的氧气可能是个不错的选择。您还可以尝试经典的交叉引用工具ctag和cscope,这些工具可以作为独立工具使用,也可以与文本编辑器集成。
https://stackoverflow.com/questions/3955068
复制相似问题