- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CodeViz —— 一款分析 C/C++源代码中函数调用关系的调用图生成工具
程序开发中,有时候需要阅读别人的代码,这时理解代码的组织结构就显得非常重要 。
CodeViz 是一款分析 C/C++函数调用关系的调用图生成工具,非常有助于代码的阅读和
理解,该项目网址为 http://www.csn.ul.ie/~mel/projects/codeviz 。
下图是项目网站上给出的一个 kernel-2.6.12 中alloc_pages 函数调用图例,从中可以
清晰的把握函数调用关系:
该调用图的生成命令为:
gengraph -f alloc_pages -d 5
-t -s buffered_rmqueue out_of_memory try_to_free_pages numa_node_id
-i cpuset_zone_allowed --output-font=Arial –output-type=png
是不是感觉命令非常复杂。没关系,下面讲解了 CodeViz 的安装和使用后,再回来看这个
命令你会发现它使用起来非常方便。
安装
1. 安装 GraphViz
调用图的生成依赖于 GraphViz,所以首先要安装GraphViz 。若是安装盘上没有,
可以从 下载。可以下载源码包,也可以下载对应发行版的 rpm 包
或者 deb 包,这里直接下载源码包:
/pub/graphviz/stable/SOURCES/graphviz-2.20.2.tar.gz
安装:
tar graphviz-2.20.2.tar.gz
cd graphviz-2.20.2
./configure (该步可以看出 graphviz 支持多种语言,但需要相应的插件支持)
make
su (安装 graphviz 需要在/usr/local 下创建目录和文件)
make install
安装完毕,检测一下 whereis graphviz,你将看到:
graphviz: /usr/local/lib/graphviz
2. 简单安装 CodeViz
这可不是简化安装,该做的都做了,只是让脚本自动完成而已:
wget http://www.csn.ul.ie/~mel/projects/codeviz/codeviz-1.0. .tar.gz
tar zxvf codeviz-1.0. .tar.gz
cd codeviz-1.0.
./configure (缺省将 codeviz 安装到/usr/local 目录下,而需要的gcc 编译器
安装到$HOME/gccgraph 目录下。可以通过./configure --help 查看缺省配置。)
make
su (缺省安装到/usr/local 目录下,需要root 权限)
make install
实际上这里会自动下载 gcc 源码包并安装,所以只要安装了 graphviz,按照这些
步骤整个安装过程就算结束了,可以使用了,非常简洁。下面为了清楚一下整个过程做一
下分步安装。
3. 下载 GCC 编译器
CodeViz 使用了一个 patch 版本的 GCC 编译器,而且不同的 CodeViz 版本使用的
GCC 版本也不同,可以下载 CodeViz 的源码包后查看Makefile 文件来确定要使用的 GCC 版
本,codeviz-1.0. 使用 GCC-3.4.6 。实际上安装CodeViz 时安装脚本会自动下载对应的 GCC
并打 patch,但是这里我们是分步安装,还是清楚一点好。 此外要注意安装脚本使用的是.
tar.gz 文件。
/sites//pub/gcc/releases/gcc-3.4
.6/gcc-3.4.6.tar.gz
4. 安装 CodeViz
安装 GCC
CodeViz 的安装脚本compilers/install_gcc-3.4.6.sh 会自动检测
您可能关注的文档
- CG第3篇-图形生成算法.ppt
- CH0背景与安排.pdf
- ch01_第一节 线性规划问题和数学模型.pdf
- ch2 基本数据结构和其运算.ppt
- CH2 解线性方程组直接法—2.1~2.3 Gauss消去法.ppt
- ch2&3数据加密技术及认证技术.ppt
- 微机原理及接口技术(西电)_第6章.pdf
- Ch03 实模式寻址方式和指令集.ppt
- ch03 线性方程组数值解法-直接法.ppt
- Ch3 电阻电路一般分析 - Huang 20140225.pdf
- 五位一体教案教学教案设计.docx
- 思修与法基-教学教案分享.pptx
- 大学军事之《中国国防》题库分享.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.pdf
- 思修与法基 教学全案分享.docx
- 大学军事之《军事思想》题库分享.docx
- 《经济思想史》全套课件-国家级精品课程教案课件讲义分享.pdf
- 厦门大学国际金融全套资料(国家级精品课程)--全套课件.pdf
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章中国特色社会主义理论体系的形成发展分享.pdf
最近下载
- 南雄市财政局绩效考评指标考评表.doc VIP
- 7 2 1 用坐标表示地理位置 分层作业(含答案) 初中数学人教版七年级下册 .docx
- 第5课《严管火源少意外》课件.pptx
- CAG和PCI手术护理查房.pptx
- 人教版五年级下册数学教案.pdf VIP
- WST227-2024临床检验项目标准操作程序编写要求.pptx VIP
- 2024-2025学年小学数学北师大版(2024)一年级下册教学设计合集.docx
- 2025年湖南环境生物职业技术学院单招职业适应性测试题库(完整版).docx VIP
- 2024秋《军事历史》章节和期末参考答案.docx VIP
- ASUS 华硕 Essence III 说明书 用户手册.pdf
文档评论(0)