2008-12-27

cscope

一般初级的代码浏览需求用ctags就完全能解决,比如跳转到标签定义的地方等。但如果想查找函数在哪里被调用,或者标签在哪些地方出现过,就需要使用更强大的cscope了。

1.修改Vim的配置
(可采用前面贴的.vimrc文件)
2. 索引工程: $cscope -Rbq
        -R: 在生成索引文件时,搜索子目录树中的代码
        -b: 只生成索引文件,不进入cscope的界面
        -q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
        -k: 在生成索引文件时,不搜索/usr/include目录
        -i: 如果保存文件列表的文件名不是cscope.files时,需要加此选项告诉cscope到哪儿去找源文件列表。可以使用"-",表示由标准输入获得文件列表。
        -I dir: 在-I选项指出的目录中查找头文件
        -u: 扫描所有文件,重新生成交叉索引文件
        -C: 在搜索时忽略大小写
        -P path: 在以相对路径表示的文件前加上的path,这样不用切换到数据库文件所在的目录也可以使用它。
3. Vim中用命令检索
       :cs find s ---- 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
       :cs find g ---- 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
       :cs find d ---- 查找本函数调用的函数
       :cs find c ---- 查找调用本函数的函数
       :cs find t: ---- 查找指定的字符串
       :cs find e ---- 查找egrep模式,相当于egrep功能,但查找速度快多了
       :cs find f ---- 查找并打开文件,类似vim的find功能
       :cs find i ---- 查找包含本文件的文


No comments: