一、cscope的安装:
1.首先得去cscope官网下一个源码包。百度搜索一下cscope,就可以看到他的官网了,然进入官网的Downloads,将cscope源码下载下来。
(2)在cscope源码目录输入如下命令进行安装:
./configure –prefix=/home/Jeffery/cscope/
Make
Make install
(3)添加变量:
export PATH=$PATH:/home/Jeffery/cscope/bin
(4)cscope 配置:
修改~/.vimrc 文件:去cscope官网或者百度搜索下载cscope_map.vim 配置文件,然后把cscope_map,vim里面从if has("cscope")到endif里边的内容复制到~/.vimrc中去
更具体的安装以及配置cscope,请参考:点击打开链接
二、cscope的使用:
1、首次使用cscope时,建立cscope索引文件:cscope.out、cscope.in.out、 cscope.po.out,输入命令:
cscope -Rbkq
R 表示把所有子目录里的文件也建立索引
b 表示cscope不启动自带的用户界面,而仅仅建立符号数据库
q生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
k在生成索引文件时,不搜索/usr/include目录
首次使用Cscope时,他会根据源文件生成符号数据库。然后在以后的使用中,cscope只是在源文件有改动或源文件列表不同时才会重建数据库。当在重建数据库时,未改动过的文件对应的数据库信息会从旧的数据库中拷贝过来,所以会使重建数据库快于一开始的新建数据库。
2、cscope相关命令:所有的cscope命令都是通过向主cscope命令传递参数选项,缩写是cs。
可以用的缩写有:
add:增加一个新的cscope数据库/链接库
使用方法:
:cs add {file|dir} [pre-path] [flags]
其中:
[pre-path] 就是以-p选项传递给cscope的文件路径,是以相对路径表示的文件前加上的path,这样你不要切换到你数据库文件所在的目录也可以使用它了。
[flags] 你想传递给cscope的额外旗标
实例:
:cscope add /home/jeffery/mt6735/cscope.out
:cscope add /home/jeffery/mt6735/cscope.out /usr/local/vim
:cscope add cscope.out /usr/local/vim –C
find:查询cscope。
使用方法:
:cs find {querytype} {name}
其中:
{querytype} 即相对应于实际的cscope行接口数字,同时也相对应于nvi命令:
0或者s —— 查找这个C符号
1或者g —— 查找这个定义
2或者d —— 查找被这个函数调用的函数
3或者c —— 查找调用这个函数的函数
4或者t —— 查找这个字符串
6或者e —— 查找这个egrep匹配模式
7或者f —— 查找这个文件
8或者i —— 查找#include这个文件的文件
实例:(#号后为注释)
cscope find c ftpd_send_resp # 查找所有调用这个函数的函数(们)
:cscope find 3 ftpd_send_resp # 和上面结果一样
:cscope find 0 FTPD_CHECK_LOGIN # 查找FTPD_CHECK_LOGIN这个符号
help: cscope帮助信息
使用方法:
:cs help
reset:重新初始化所有的cscope链接
使用方法:
:cs reset
show: 显示cscope的链接
使用方法:
:cs show
更多关于cscope的使用方法,请参考:点击打开链接
最后,cscope只是一种工具,没必要花太多时间去研究它的很多细节,会一些基本的使用,满足自己的工作需求即可,使用其他的工具(比如vim)也是如此。
ps:
linux 下 vim帮派的三件套:VIM + cscope + Tlist。不过对着大代码弄一个cscope的 out文件,又久又慢啊;而Tlist,年久失修。
对着大代码弄一个cscope的 out文件,又大又慢啊,out文件size不小,你硬盘大的化就忽略这个。