转载别人的cedet-ecb if debian apt-get is ok.

我个人比较喜欢在文本模式下写程序,不喜欢X,因为使用文本模式写程序有一种特殊的亲切感:-),也非常享受那样一个个字母以文本模式显示在PIETTY 中的情形。而众所周知,在LINUX下写程序的IDE并非特别好用,有人说过,只有三种程序员:VIM,EMACS,OTHERS。我之前也用过一段时间 的VIM,可是后来还是转到了EMACS旗下,因为我觉得它更符合我的口味,只有它才能是在文本模式下表现依然出色的选手。特别是在使用了ECB之后,我 更感受到它的强大。
    之前一段时间还是使用ECLIPSE(肯定要被BS:-)),可是在网络环境不太好的情况下,远程登录到服务器的速度就不理想,再使用VNC这样的东西,速度就让你无法忍受了,敲一个字母,5秒后才到屏幕上,不知您作如何感想?
    我使用emacs要解决如下几个问题(我想基本上大家都是这样的需求):
1.语法高亮
2.自动缩进
3.自动语法补全
4.SVN资源库
5.自己的程序STYLE TEMPLATE
    网上有不少关于emacs配置C++ IDE的文章,可惜真正的原创少之又少,天下文章一大抄,真正有用的东西很难找到,抄过来的东西配置到自己机器上并不一定就好使。还是看SOURCEFORGE的项目帮助比较保险。

    下面是配置cedet+ecb的过程:
    源码请到http://cedet.sourceforge.net/http://ecb.sourceforge.net/ 下载。我下载的是cedet-1.0pre6版本和ecb2.40版本。(请注意 :ecb是要依赖于cedet的完整 包才能良好工作的,不像网上许多人总是下载了cedet包的一部分,如eieio和semantic,下载了之后又配置了一大通,最后发现还是不好使)。
    下载到源码后,使用tar zxvf解压缩。
    安装cedet:(http://cedet.sourceforge.net/setup.shtml
    (有篇关于cedet的经典文章,我已转来,此安装方法是此文章的一个精简版本http://hi.baidu.com/susdisk/blog/item/381f9b7f52f7dd0129388ac9.html
    进入cedet目录,在此目录下输入:
emacs -Q -l cedet-build.el -f cedet-build
    等待编译完毕之后,编辑.emacs文件,加入:
;;################cedet###########
(load-file "/home/xxx/emacsfiles/cedet-1.0pre6/common/cedet.el")
(semantic-load-enable-excessive-code-helpers)
(global-ede-mode t)
(require 'semantic-ia)
(require 'semantic-gcc)
(global-srecode-minor-mode 1)


    然后可以安装ecb了,其实ecb的安装非常简单(http://ecb.sourceforge.net/docs/Standard-ECB_002dInstallation.html#Standard-ECB_002dInstallation ),解压之后直接编辑.emacs文件,加入如下内容:
;;####################ecb###############
(add-to-list 'load-path "/home/xxx/emacsfiles/ecb-2.40")
(require 'ecb)
(ecb-activate)

    之后重启emacs,byte-compile ecb:
M-x ecb-byte-compile
   
然后emacs就基本可以正常工作啦,我也只是非常菜的菜鸟级emacs使用者,望大牛莫笑:-)。
    
    以上我的配置都是适用于纯文本的emacs,不带X。因为我习惯于这样的工作方式,贴图(放大些看比较清楚):

 

1.首先到 http://cscope.sourceforge.net 下载 cscope
2.安装:
     tar -zxf cscope-xx.x.tar.gz
     cd cscope-xx.x
     ./configure
     make
     make install

    然后把contib/xcscope/目录下的cscope-indexer复制到PATH目录比如/usr/local/bin

3.配置
    接着whereis emacs 看下emacs安装在哪里,
    把
cscope-xx.x目录下的 contrib/xcscope/xcscope.el文件拷贝到/usr/share/emacs/site-lisp/目录下面.
     cp contrib/xcscope/xcscope.el /usr/share/emacs/site-lisp/
    
     在.emacs文件中添加
      (require 'cc-mode)
      (load-file "/usr/share/emacs/site-lisp/xcscope.el")
      (require 'xcscope)
4 生成索引文件
   要使用cscope的强大功能,首先需要为我们的代码生成一个cscope数据库。生成数据库很简单,在我们的项目根目录运行下面的运行
     cscope -Rbkq
   会生成三个文件:cscope.out, cscope.in.out, cscope.po.out。其中cscope.out是基本的符号索引,后两个文件是使用"-q"选项生成的,可以加快cscope的索引速度。
   参数意义如下:
    -R: 在生成索引文件时,搜索子目录树中的代码
    -b: 只生成索引文件,不进入cscope的界面
    -k: 在生成索引文件时,不搜索/usr/include目录
    -q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
    -i: 如果保存文件列表的文件名不是cscope.files时,需要加此选项告诉cscope到哪儿去找源文件列表。可以使用“-”,表示由标准输入获得文件列表。
    -I dir: 在-I选项指出的目录中查找头文件
    -u: 扫描所有文件,重新生成交叉索引文件
    -C: 在搜索时忽略大小写
    -P path: 在以相对路径表示的文件前加上的path,这样,你不用切换到你数据库文件所在的目录也可以使用它了
    Cscope只在第一次解析时扫描全部文件,以后再调用cscope,它只扫描那些改动过的文件,这大大提高了cscope生成索引的速度。
    在缺省情况下,cscope在生成数据库后就会进入它自己的查询界面,我们一般不用这个界面,所以使用了“-b”选项。如果你已经进入了这个界面,按CTRL-D退出。

    Cscope在生成数据库中,在你的项目目录中未找到的头文件,会自动到/usr/include目录中查找。如果你想阻止它这样做,使用“-k”选项。

    Cscope缺省只解析C文件(.c和.h)、lex文件(.l)和yacc文件(.y),虽然它也可以支持C++以及Java,但它在扫描目录时会跳过 C++及Java后缀的文件。如果你希望cscope解析C++或Java文件,需要把这些文件的名字和路径保存在一个名为cscope.files的文 件。当cscope发现在当前目录中存在cscope.files时,就会为cscope.files中列出的所有文件生成索引数据库。
    find . -name "*.h" -o -name "*.c" -o -name "*.cc"  -o -name "*.cpp" -o -name "*.hpp" > cscope.files

cscope -bkq -i cscope.files
5 在代码中穿梭
  查找函数或者变量 c-c s s
  查找函数或变量的定义 c-c s g
  查找函数在哪里被调用了,c-c s c
  查找该函数调用了哪些函数 c-c s C

  查找到的函数上次出现的位置 c-c s p
  查找到的函数下次出现的位置 c-c s n

  参考了其他网友的文章,表示感谢

 

valgrind
 --tool=memcheck --leak-check=full --log-file=d ./test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值