Chinaunix首页 | 论坛 | 博客
  • 博客访问: 800986
  • 博文数量: 104
  • 博客积分: 915
  • 博客等级: 下士
  • 技术积分: 2171
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-24 21:34
文章分类

全部博文(104)

文章存档

2018年(4)

2015年(14)

2014年(9)

2013年(56)

2012年(21)

分类: LINUX

2014-01-02 19:39:42

 1、cscope是什么? 
        一个 C 语言的浏览工具,通过这个工具可以很方便地找到某个函数或变量的定义位置、被调用的位置等信息。
        目前支持 C 和 C++。
2、为什么要使用cscope? 
       假设我们在读一份很大的项目的源代码,我们也许会需要进行如下操作:
        W1:函数 foo() 调用了函数 bar(),想看看函数 bar() 的内容
        W2:想知道 foo() 在什么地方被调用。
        W3:想知道一个结构类型的定义。
        虽然在 Linux 下使用 grep ,但是效率太低了。
        有没有什么更为方便快捷的方法?
        这就需要用到cscope。
        vim结合cscope,可以很方便地完成以上的操作,只需简单地敲几下键盘即可跳转到想去的地方。
3、如何使用cscope? 
       如果你使用的是 Linux,很可能操作系统已经为你提供了cscope工具。
        使用下面的命令确认它是否存在:
        cscope -V
        如果cscope工具已经安装,上面的命令将显示cscope的版本号,类似于下面的结果:
        cscope: version 16.0a
        但是如果提示错误说找不到cscope命令,说明cscope尚未安装。
        你可以到网上去寻找cscope的RPM包。另外,我们可以从上下载到 cscope 的最新源代码。
        在Linux下你可以编译该源代码生成cscope的可执行文件。
4、安装 
        Linux用户可以放在 $HOME/.vim/plugin 中。
5、建立符号数据库
        首先在目录下建立cscope索引文件
        find  -name  '*.c'  > cscope.file
        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里读代码了。
6、怎么使用
      当光标在一个变量 或 函数 或 一个数据结构上时,使用下面的组合键:
       ctrl + ' ] '——跳到该变量 或 该函数 或 该数据结构的定义
       ctrl + ' t '——跳回上一步

     

阅读(2017) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~