Chinaunix首页 | 论坛 | 博客
  • 博客访问: 100003
  • 博文数量: 28
  • 博客积分: 1435
  • 博客等级: 上尉
  • 技术积分: 265
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-26 11:40
文章分类

全部博文(28)

文章存档

2017年(1)

2012年(1)

2011年(6)

2010年(20)

我的朋友

分类: LINUX

2010-05-11 13:25:42

  • 建立索引

#!/bin/sh
find . -name "*.h" -o -name "*.c" -o -name "*.S" > cscope.files
cscope -bkq -i cscope.files
ctags -R


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

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

这个脚本,首先使用find命令,查找当 前目录及子目录中所有后缀名为".h", ".c"和".c"的文件,并把查找结果重定向到文件cscope.files中。然 后cscope根据cscope.files中的所有文件,生成符号索引文件。

最 后一条命令使用ctags命令,生成一个tags文件,在vim中执行":help tags"命令查询它的用法。它可以和cscope一起使用。

  • 建立索引的命令选项
-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,这样,你不用切换到你数据库文件所在的目录也可以使用它了。

  • 搜索cscope file 搜索命令行选项
s: 查找C语言符号,即查找函数名、宏、枚举值等出现的地方

g: 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能

d: 查找本函数调用的函数

c: 查找调用本函数的函数

t: 查找指定的字符串

e: 查找egrep模式,相当于egrep功能,但查找速度快多了

f: 查找并打开文件,类似vim的find功能

i: 查找包含本文件的文

  • 搜索命令
:cscope find <关键字>” 可以缩写为 “:cs f <关键字>
如:cs f g start_kernel

  • 跳转
ctrl + ] : 进入光标处的变量/函数的定义处
ctrl + t : 退回



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