codeviz安装使用全记录
安装过程
$ sudo apt-get install -y graphviz graphviz-dev graphviz-doc
$ sudo apt-get install -y libgv-*
$ sudo apt-get install -y ncftp
$ sudo ln -sf /usr/include/asm-generic/ /usr/include/asm
http://www.csn.ul.ie/~mel/projects/codeviz/
$ wget http://www.csn.ul.ie/~mel/projects/codeviz/codeviz-1.0.11.tar.gz
http://gcc.parentingamerica.com/releases/gcc-3.4.6/
$ wget http://gcc.parentingamerica.com/releases/gcc-3.4.6/gcc-3.4.6.tar.gz
$ tar -zxf codeviz-1.0.11.tar.gz
$ cp gcc-3.4.6.tar.gz codeviz-1.0.11/compilers/
$ cd codeviz-1.0.11
$ sudo ./configure
$ sudo make
$ sudo make install
Installing gcc to /usr/local/gccgraph
问题:
/usr/include/features.h:324:26: bits/predefs.h: 没有那个文件或目录
解决方法:
1. 确定你的系统是x86_64 GNU/Linux
root@mm-desktop:/home/mm/android# uname -a
Linux mm-desktop 2.6.27-9-generic #1 SMP Thu Nov 20 22:15:32 UTC 2008 x86_64 GNU/Linux
安装libc6-dev-i386
sudo apt-get install libc6-dev-i386
2. 32位系统:sudo apt-get install libc6-dev
3. 输入sudo apt-get install gcc-multilib 即可
问题:
/usr/include/gnu/stubs.h:7:27: gnu/stubs-32.h: 没有那个文件或目录
解决方法:
$ sudo apt-get install -y g++-multilib
$ cd /usr/include/
$ sudo ln -s ../i386-linux-gnu/gnu/stubs-32.h .
问题:
/usr/bin/ld: cannot find crti.o: No such file or directory
解决方法:
$ cd /usr/lib
$ sudo ln -s i386-linux-gnu/crt*.o .
测试例子代码
测试过程
使用刚生成的编译器编译test.c,会相应地生成一个test.c.cdepn文件。
然后执行genfull脚本生成full.graph。
最后执行gengraph生成函数关系调用图。
打开main.png,如下: