在windows下如何用cscope实现函数定位

来源:互联网 发布:sve14aa12t热键软件 编辑:程序博客网 时间:2024/06/05 18:00
1,先下载windows下编译好的  cscope.exe
  到
  http://sourceforge.net/projects/mslk/files/Cscope/
  下载  最新的  cscope-15.7.zip 然后解压  把解压后的三个文件 拷贝到你的  gvim.exe 所在的目录
  比如我的是  D:\Vim\vim73
  2安装 
-----------------------------------
安装很简单,只要将cscope的可执行文件放到PATH环境变量包含的目录中即可。
(1) 推荐Windows用户将上面下载到的cscope.exe与gvim.exe放在同一个目录下,如D:\Program Files\Vim\vim72下。
(2) "我的电脑" --> "属性" --> "高级" --> "环境变量" --> "系统变量"
    PATH: D:\Program Files\Vim\vim72 (给环境变量PATH添加cscope.exe所在目录)
    注销/重启后PATH即可生效。
(3) "开始" --> "运行" --> "cmd"
C:\Documents and Settings\Administrator>cscope -V
cscope: version 15.6.   Compiled by MSLK(mslk.sa@gmail.com)

如果能看到cscope的版本好则说明安装成功。


  运行cmd   cd 到你的php项目文件夹 比如我的是  D:\PHPnow\htdocs\drupal
  运行  dir /s /b *.php *.inc *.module > cscope.files
  这个命令会生成一个  cscope.files 文件
  你可以打开看一下  就是一个满足上面那个搜索命令的文件列表
  解释一下,  drupal的函数是定义在。php .inc .module  这三种后缀名文件里面的 所以我要搜索这三种文件
  一般项目只需要  搜索。php 就够了
  既使用dir /s /b *.php  > cscope.files   *. 是通配符  不解释
  3 ,接着运行  cscope -b
  会在文件夹下面生成一个cscope.out 文件
  4,修改vim 配置文件  _vimrc
  加入
  "cscope定位函数就靠这个文件了  现在载入他  也可以在vim中用命令载入  运行:cs help 查看相关介绍
  cs a D:\PHPnow\htdocs\drupal\cscope.out
  "搜索函数定义的位置
  map <C-g> :cs find g <C-R>=expand("<cword>")<CR>
  保存之后 退出vim 重新打开vim
  当需要查看函数的定义位置的时候,把光标放在 函数名上 按ctrl + g  vim 底部出现
  :cs find g 函数名
  然后再按 回车键  就可以到函数定义的位置了   返回上一个位置  按ctrl + o
  另外:不使用快捷键的查询
  vim command下查询
  :cs find s function_name  查找C语言符号,即查找函数名、宏、枚举值等出现的地方
  :cs find g function_name 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
  :cs find d function_name 查找本函数调用的函数
  :cs find c function_name 查找调用本函数的函数
  :cs find t function_name 查找指定的字符串
  :cs find e function_name 查找egrep模式,相当于egrep功能,但查找速度快多了
  :cs find f function_name 查找并打开文件,类似vim的find功能

  :cs find i function_name 查找包含本文件的文件

1. 下载并安装Cscope for Windows版本,最新的二进制编译版本可以从这里下载: http://sourceforge.net/project/showfiles.php?group_id=196604&package_id=232374;下载、解压后将cscope.exe放到与vim.exe同一目录下即可。

2. 下载并安装Vim for windows版本,最新版本可以从这里下载:ftp://ftp.vim.org/pub/vim/pc/gvim73_46.exe;

    说明: (1)为了使用CScope的所有功能,最好下载6.x以后的版本;

        (2)如果你所使用的Vim的版本没有使用“-enable-cscope”选项编译,那么你需要"-enable_cscope"选项重新配置和编译Vim源代码;

(3)查看所用的Vim的版本以及编译选项信息,可以在Vim中输入命令“:version”后查看输出结果,下面是笔者在自己的机器上使用":version"

命令得到的结果的部分显示(注意图中深颜色的地方):


3. 下载cscope_map.vim,并将其放到Vim的plugin目录下(c:\program files\vim\vim72\plugin)这样,Vim在启动的时候就能读取其中的内容。这个键盘映射文件的作用是使我们在Vim环境中能使用Cscope的快捷键,比如:ctrl-\ s来查询某一符号在整个功能文件中的引用情况。

这个文件可以从这里下载:http://cscope.sourceforge.net/cscope_maps.vim.

4. 在一个包含C/C++文件的目录下,输入命令 cscope -R -b(-R告诉Cscope分析当前目录以及当前目录下的所有子目录;-b告诉cscope只产生符号文件)将在当前目录下生成cscope.out文件,这个文件就是Vim要使用的符号文件。

5. 打开一个源文件,并将光标停留在第80行的SetupDriverName上


6. 输入命令"ctrl-\ s(CTRL-blankslash, then 's')"或者“:cs find s SetupDriverName”回车,将的到如下的结果:


7. 在Choice number(<Enter> cancels):后输入“1”将跳转到exe/testapp.c第38行中SetupDriverName处(以此类推输入"2"和“3”将分别跳转到exe/install.c第485行和exe/testapp.c的第80行):


8. 输入命令"ctrl-T",将跳转回第5步所示的第80行处。

总结:本文只是简单的示例了一下在Windows环境下使用Vim和CSCOPE搭建简单的C/C++源代码浏览器的步骤;Vim和Cscope都是很强大的编程工具,其中还有很多简单、易用的功能值得我们去探索、学习...

最后介绍几个笔者认为是不错的与Vim和Cscope相关的网站

1. http://en.wikipedia.org/wiki/Cscope (对Cscope介绍的比较详细的网站)

2. www.vim.org (Vim的官方网站,上面有很全面的文档和学习资料)

3. http://cscope.sourceforge.net/ (Cscope的官方网站)

4. http://cscope.sourceforge.net/cscope_vim_tutorial.html (专门介绍怎样在Vim下使用Cscope的文档)


原创粉丝点击