当前位置:  开发笔记 > 编程语言 > 正文

如何可视化包含/指向彼此的C结构图?

如何解决《如何可视化包含/指向彼此的C结构图?》经验,为你挑选了1个好方法。

我正在使用Ubuntu 10.04,并研究内核对象的编程.

我遇到了一些相当复杂的结构,我很难阅读,所以我想我会尝试找一些可以帮助我想象它们的工具.

到目前为止我唯一能找到的是VCG,它有一个C Struct Visualization Example,如下所示:

这看起来像我想要使用的东西.

第一件事是,为Ubuntu打包的最后一个VCG是耐用的vcg(1.30debian-6) - 但.deb包可以在没有问题的情况下下载并安装在Ubuntu Lucid中.

但是,看起来这个包只是一个VCG 查看器(类似于vcgviewer,我猜).该vcgviewer页笔记:

To generate compiler graph data with newest gcc compilers use:
gcc -g -da -dv -fdump-tree-original-raw -fdump-tree-all-all 

因此,显然我必须gcc在编译时使用这些开关,以从C源生成.vcg图形文件.

然而,问题是我正在构建一个只引用Linux头的内核模块 - 因为我尽量避免重新编译整个内核.看来,只要我尝试-fdump-tree-...在该上下文(内核模块)中使用开关,gcc就想开始编译内核的其余部分!(并且在.vcg图的编译和生成中显然都失败了 - 因为我没有内核源代码,只有头文件)

所以我的问题是 - 是否有一个工具,可以生成.vcg或.dot结构图 - 只需使用纯文本头文件作为输入?(它不必解析所有依赖项 - 只是在同一目录中的头文件中)

编辑:对我来说,后端特别是.vcg或.dot对我来说实际上并不重要,我提到它们只是因为到目前为止我找到了它们; 任何类型的软件,允许类似的结构可视化,无论后端,欢迎:)

PS:请注意,如果您不想使用VCG查看器查看.vcg图表,则可以将.vcg格式转换为.dot格式,graphviz而是使用可视化.什么工作对我来说是使用图形易- search.cpan.org的perl-这第一次拿到打包在Ubuntu与小牛版,作为libgraph易-perl的(然而,的.deb文件可以-再-下载并安装不Lucid的问题).libgraph-easy-perl安装一个graph-easy脚本,然后允许执行以下操作:

graph-easy test.vcg --as_dot | dot -Tpng -o test.vcg.png 

另请参阅" [graphviz-interest] VCG文件 "和" Diego Novillo - Re:找不到VCG查看器 "的另一个vcg-to-dot脚本(不幸的是,这对我来说不起作用).



1> Bart van Ing..:

我有使用doxygen完成该任务的良好经验.它旨在从带注释的源文件中创建文档,但它可以在没有注释的情况下为您提供很多内容,包括各种图形.Doxygen使用点来创建图表.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有