Emacs Cscope安装

 

Table of Contents

  • 1 前面的话
  • 2 安装Cscope
    • 2.1 下载cscope
    • 2.2 编译安装
    • 2.3 配置
    • 2.4 使用
    • 2.5 加快索引速度

1 前面的话


在Linux下,cscope算得上是非常不错的代码浏览工具了。尤其是结合Emacs/Vim,更能显示它的威力,我就是使用Emacs+cscope来浏览kernel代码的。当然,如果你能配合cedet或者etags或者ctags使用更好,但我不想那么麻烦^_


2 安装Cscope


2.1 下载cscope


这是cscope的主页:

http://cscope.sourceforge.net/


这是cscope的下载地址:

http://sourceforge.net/projects/cscope/files/


2.2 编译安装


仍然是老三步:

./configure
make
sudo make install


Cscope 的发行包里面有个 xcscope.el 能很好地用于XEmacs 。它处于源代码包的 contrib/xcscope 目录下,请将xcospe放入.emacs.d/中。


2.3 配置

(require 'xcscope)

;; 设置仅在打开c/c++文件时打开
(add-hook 'c-mode-common-hook 
'(lambda()
(require 'xcscope)))


2.4 使用


如果需要使用cscope,请将cscope-indexer放入该目录,使用chown命令将其设置为可执行。

chown 744 cscope-indexer


接着使用下面的命令就会生成索引文件:

cscope-indexer -r


它会生成cscope.files和cscope.out两个文件或目录。


2.5 加快索引速度


实际上,cscope自带的cscope-indexer是一个shell脚本,里面的核心内容分为两部分:一部分是搜索并记录当前目录以及子目录下所有.c/.h/.cpp等文件列表;另外一部分使用cscope命令生成索引文件。而对于linux-kernel这样的工程来说,如果不在索引方式上做优化,找个全局变量或者函数调用可能够你喝杯茶了。


所以,使用 -k 命令选项可以对kernel进行优化以及使用 -q命令选项进行反向索引,以加快搜索的速度。我将cscope-indexer脚本更改如下:


# 原来的设置
# cscope -b -i $LIST_FILE -f $DATABASE_FILE
# 现在的设置
cscope -b -q -k -i $LIST_FILE -f $DATABASE_FILE


同时,当你对源文件进行更改的时候,cscope会重新生成索引文件,这样会使得查找很慢。你可以在~/.emacs下添加如下代码,是cscope默认不更新索引数据。


;; 打开cscope时不更新,提高索引速度
(setq cscope-do-not-update-database t)




Date: 2012-10-14 Sun

Author: lishuo

Org version 7.9.1 with Emacs version 23

Validate XHTML 1.0

你可能感兴趣的:(Emacs Cscope安装)