您的位置:首页 > 运维架构

Ubuntu 安装 cscope 和 ctags

2015-11-27 20:37 525 查看
分类: LINUX

一、安装Cscope 软件

       点击此处下载Cscope软件。

 tar -jxvf cscope-15.7a.tar.bz2

  cd cscope-15.7a

./configure

make 

sudo make install

      安装过程出现的问题:

      1.出现`flex' is missing on your system:sudo apt-get install flex

      2.出现yacc: 未找到命令:sudo apt-get install byacc

      3.出现“curses.h not found”之类的错误:sudo apt-get libncurses-dev

---------------------------------------------------------------------------------------------------------------------------------------

      1:按照vim里cscope的参考手册(在vim中执行”:help cscope”命令),把cscope功能加到.vimrc里后(需要你的vim在编译时选择了”–enable-cscope”选项,否则你需要重新编 译vim),配置就算完成了。然后用下面的命令生成代码的符号索引文件;

     2: 到相应的内核源码目录下;

     3:cscope -Rbkq

         这个命令会生成三个文件:cscope.out, cscope.in.out, cscope.po.out。

         其中cscope.out是基本的符号索引,后两个文件是使用”-q”选项生成的,可以加快cscope的索引速度。

上面所用到的命令参数,含义如下:

         -R: 在生成索引文件时,搜索子目录树中的代码


      -b: 只生成索引文件,不进入cscope的界面


      -k: 在生成索引文件时,不搜索/usr/include目录


      -q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度

        接下来,就可以在vim里读代码了。 

        不过在使用过程中,发现无法找到C++的类、函数定义、调用关系。仔细阅读了cscope的手册后发现原来cscope在产生索引文件时,只搜索类型为C, lex和yacc的文件(后缀名为.c, .h, .l, .y),C++的文件根本没有生成索引。不过按照手册上的说明,cscope支持c++和Java语言的文件。

于是按照cscope手册上提供的方法,先产生一个文件列表,然后让cscope为这个列表中的每个文件都生成索引。

为了方便使用,编写了下面的脚本来更新cscope和ctags的索引文件:

点击(此处)折叠或打开

#!/bin/sh

find . -name "*.h" -o -name "*.c"-o -name "*.cc" > cscope.files

cscope -bkq -i cscope.files

ctags -R

二、安装Ctags软件

ctags:

(1)安装 

      http://ctags.sourceforge.net/
ubuntu下可以使用apt-get来安装:

sudo apt-get install ctags
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: