命令行输入 cscope ,根据提示安装即可;
官网 http://cscope.sourceforge.net/
向vim添加cscope标准配置文件(网上和官网都有提供)
cp cscope_maps.vim ~/.vim/plugin/
注:也可以将此文件中的配置内容拷贝到~/.vimrc文件中,并根据个人喜好进行修改
利用find生成列表文件,记录cscope需要索引的源码文件
新建或覆盖
find [path] -name *.h -o -name *.c -o -name *.cc -o -name *.ccp -o -name *.java -o -name *.aidl > cscope.files
新建或追加
find [path] -name *.h -o -name *.c -o -name *.cc -o -name *.ccp -o -name *.java -o -name *.aidl >> cscope.files
注:[path]一般为源码路径,利用find列出该路径下指定的某类文件并重定向到cscope.files中
生成默认的索引链接文件 cscope.out ,记录函数等标识符的链接关系
cscope -bq -P [path] -i [path/cscope.files]
注:使用 cscope -help 可查看选项参数说明;
-P 指定的[path]为相对路径的上层路径,因为cscope.files中使用相对路径,为了方便在其它路径下也能索引文件;
-i 指定cscope.files文件,当列表文件名不是默认的 cscope.files 或 不在默认路径下时使用
向vim添加cscope.out
在 ~/.vimrc 文件中添加 cs add patch/cscope.out [path]
注: 末尾的[path]就是上一步中参数-P 指定的上层路径;
也可以在vim底行模式下执行 :cs add cscope.out 来添加文件
:cs show 查看当前使用的链接文件
:cs kill [pid|file] 通过pid或文件名来移除链接文件
注:如果pid指定为-1,会移除所有链接文件
:cs reset 初始化所有的链接文件
:cs find c/3 [func] 查找此函数被调用的位置
注:可以使用光标结合快捷键[Ctrl+\]+c ;其它快捷键可查看cscope_maps.vim中的映射
直接在命令行输入cscope也可以查找,Ctrl+d退出;
:cs -h 查看帮助
0或者s —— 查找这个C符号
1或者g —— 查找这个定义
2或者d —— 查找被这个函数调用的函数
3或者c —— 查找调用这个函数的函数
4或者t —— 查找这个字符串
6或者e —— 查找这个egrep匹配模式
7或者f —— 查找这个文件
8或者i —— 查找#include这个文件的文件