C:绘制一个大型图书馆

7 c diagram case diagramming

有没有工具可以帮助绘制大型C库的图表?我正在开发一个项目,将现有的C库移植到C++.C库很大程度上没有文档,没有图表.我想使用CASE工具来帮助我理解各种文件的交互方式.大多数文件中都有外部变量.

如果可能的话,我更愿意使用可视化图来更好地理解代码的流程.我不熟悉程序语言的图表工具(或者如果它存在的话).我记得在大学里我们使用层次结构和数据流程图来处理程序语言.

我知道有许多用于绘制OO语言的工具,但我想要一个C语言.任何帮助都将受到赞赏.

意见建议:


doxygen的

它可以通过三种方式帮助您:

它可以从一组记录的源文件生成在线文档浏览器(以HTML格式)和/或离线参考手册(in).还支持在RTF(MS-Word),PostScript,超链接PDF,压缩HTML和Unix手册页中生成输出.文档直接从源代码中提取,这使得文档更容易与源代码保持一致.您可以配置doxygen以从未记录的源文件中提取代码结构.这对于在大型源代码分发中快速找到方法非常有用.您还可以通过包含依赖图,继承图和协作图来可视化各种元素之间的关系,这些图都是自动生成的.你甚至可以'滥用'


cppdepend

  • 开源/学术和商业许可证(MSVS插件)

提高代码库质量.CppDepend是一个简化管理复杂的C\C++(本机,混合和COM)代码库的工具.架构师和开发人员可以通过比较不同版本的代码来分析代码结构,指定设计规则,进行有效的代码审查和掌握演化.这些案例研究表明CppDepend可以深入了解您的架构,设计和实现.重构并改进您的设计和架构.CppDepend提供了有用的图表来分析您的设计和架构.CQL语言使您可以灵活地创建自定义查询并深入了解代码库.这里有一个使用CppDepend来帮助你重构的示例.协助您的迁移.了解现有迁移.


反恐怖主义行动小组

  • (nedit,vim,emacs)VIM TUTORIAL
    • 班级名称
    • 宏定义
    • 枚举名称
    • 统计员
    • 功能定义
    • 函数原型/声明
    • class,interface,struct和union数据成员
    • 结构名称
    • 类型定义
    • 工会名称
    • 变量(定义和外部声明)

csope

  • (cmd line,vim)VIM TUTORIAL
    • 允许搜索代码:
    • 所有对符号的引用
    • 全球定义
    • 函数调用的函数
    • 调用函数的函数
    • 文字字符串
    • 正则表达式
    • 一份文件
    • 文件包括文件

Nic*_*yer 7

Doxygen的可以产生不同类型的交互图-文件,函数调用等.随着EXTRACT_ALL配置变量,它会生成图表和交叉引用文档,即使没有文档注释代码.