免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2036 | 回复: 0
打印 上一主题 下一主题

codeviz对C++的忽视 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-03 14:26 |只看该作者 |倒序浏览
有过阅读C/C++开源项目经历的人都有一种感觉,就是刚开始阅读这些开源项目的时候感觉无从下手,如果能通过图形的方式把开源项目的函数调用关系表现出来则会大大减少熟悉这些开源项目的时间。C/C++常用的开发环境都没有提供这样的功能,幸运的是世界上竟有CodeViz这样一款功能强大的软件,并且该软件是开源的软件,该软件的官方地址为:http://www.csn.ul.ie/~mel/projects/codeviz/。codeviz需要graphviz来完成调用图的绘制,因此,在安装codeviz之前需要先安装graphviz。这两款软件的安装非常简单,这里就不再描述了。
这里主要描述本人在使用codeviz时遇到的一些问题:
在使用codeviz时需要使用的命令有:
1)打过补丁的C/C++编译器;
2)genfull,用来产生full.graph文件;
3)gengraph,用来产生调用图。
如果想要绘制调用图的源程序是C源文件,则分别执行上述3个步骤即可。但不幸的是,本人一开始就尝试使用codeviz来产生C++程序的调用图,其结果是每次都能正常产生full.graph文件,但是绘制调用图时都不成功。通过本人一段时间的研究发现,其罪魁祸首竟然是C程序与C++程序产生的full.graph不一致,具体见下图:

                               图1:C源程序产生的full.graph文件

                                     图2: c++源程序产生的full.graph文件
从上面两图不难看出问题所在了。解决办法也很简单,就是C++源程序产生的full.graph文件中多余的圆括号删除后就可以使用gengraph产生函数调用图了。但至于为什么c++源程序产生的full.graph会出现多余的圆括号本人还没有弄清楚,如果哪位仁兄找到了解决方法请在网上共享。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/98865/showart_2138213.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP