首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 复习指导 >

C++实用技巧十八

2008-12-24 
emacs完美的C++的自动补全

    1,CVS cedet的最新代码,1.04代码补全很慢。

  cvs -z3 -d:pserver:anonymous@cedet.cvs.sourceforge.net:/cvsroot/cedet co -P cedet

  2,命令行运行

  touch `find -name "Makefile"`//(注意是左引号)

  make bootstrap

  3,命令行运行

  g++ -E -v -P dummy.cpp

  会找到很多头文件,dummy.cpp是个空文件,然后

  4,在.emacs加入

  (eval-after-load "semantic-c" ;;e:/emacs/home 是我的 $HOME

  ’(dolist (d (list "/usr/include/c++/4.1.0"

  "/usr/include/c++/4.1.0/x86_64-suse-linux"

  "/usr/include/c++/4.1.0/backward"

  "/usr/local/include"

  "/usr/lib64/gcc/x86_64-suse-linux/4.1.0/include"

  "/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/include"

  "/usr/include"

  ))

  (semantic-add-system-include d)))

  ;;下面配置一下semantic分析结果文件的存放目录。注意这个目录是要自己建立的。

  (setq semanticdb-default-save-directory

  (expand-file-name "~/.emacs.d/semanticdb"))

  ;;头文件的查找目录定义好了,下面对 c-mode 做一些小小的定义:

  (add-hook ’c-mode-common-hook

  ’(lambda()

  (require ’cedet)

  (ede-minor-mode t)

  ;;;;以下3个按机器适用的强劲程度排列,最下面的对机器需求最低。三选一。

  ;; (semantic-load-enable-gaudy-code-helpers)

  ;; (semantic-load-enable-code-helpers)

  (semantic-load-enable-minimum-features)

  ;;;;这三个按键绑定按个人喜欢启用,除了第一个可以修改成自己喜欢的按键之外,考试,大提示另外两个都没有修改的意义。

  ;;;;反正主要的补全就靠 semantic-complete-analyze-inline了,以后偷摸骗抢都靠它了。

  ;;;;semantic-complete-self-inset也是调用semantic-complete-analyze-inline的。

  (local-set-key (kbd "M-/") ’semantic-complete-analyze-inline)

  (local-set-key "." ’semantic-complete-self-insert)

  (local-set-key ">" ’semantic-complete-self-insert)

  (c-toggle-auto-hungry-state 1)

  (c-set-style "K&R")))

  OK,在代码中可以尝试一下了。M-/补全,或者在结构体后输入.或->也会有代码提示出来,非常方便。

 

3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/

热点排行