C:绘制一个大型图书馆

时间:2010-10-17 20:10:05

标签: c diagram case diagramming

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

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

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

建议


doxygen

  

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

     

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


cppdepend

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

提高代码库质量。   CppDepend是一个简化的工具   管理复杂的C \ C ++(Native,Mixed   和COM)代码库。建筑师和   开发人员可以分析代码结构   指定设计规则,做到有效   代码审查和掌握进化   比较不同版本的   码。这些案例研究显示了   CppDepend的实用性很深   查看您的建筑,设计和   实现。重构和改进   你的设计和建筑。   CppDepend提供了有用的图表   分析您的设计和架构。   CQL语言为您提供了灵活性   创建自定义查询并拥有   深入了解您的代码库。这里的   使用CppDepend协助的示例   你的重构。协助你的   移民。了解现有的   移民。 CppDepend可以帮助您   迁移过程,你可以在这里找到   使用CppDepend的优点   你的迁移过程。


ctag

  • (nedit,vim,emacs)VIM TUTORIAL
    • 班级名称
    • 宏定义
    • 枚举名称
    • 枚举
    • 功能定义
    • 函数原型/声明
    • 类,接口,结构和联合数据成员
    • 结构名称
    • 的typedef
    • 联盟名称
    • 变量(定义和外部声明)

csope

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

3 个答案:

答案 0 :(得分:7)

Doxygen可以生成各种类型的交互图 - 文件,函数调用等。使用EXTRACT_ALL配置变量集,它甚至可以为没有文档注释的代码生成图表和交叉引用的文档。

答案 1 :(得分:3)

CppDepend,如果你在Windows上工作,可以使用查询语言扩展Doxygen并在依赖图中移动。

答案 2 :(得分:2)

Nick Meyer提到的Doxygen可能是一个不错的选择。您还可以尝试使用经典的交叉引用工具ctags和cscope,它们可以作为独立工具使用,也可以与文本编辑器集成。