Skip to content

Emacs+GCC+GDB的最基本用法

用Emacs+GCC+GDB做OI题的最基本用法是很简单的。以下就是我在NOI期间的解决方案。

首先,用Emacs编辑好.cpp程序,例如test.cpp。

然后,M-x compile,把那一行命令改成g++ test.cpp -g -pg,这一行命令会被记住,再次编译同一个文件就不用改这一行了。参数“-g”是为了加入调试信息,“-pg”是为了profiling,若不需要可以去掉这些参数。如果有编译错误会在下面的buffer里显示的,直接用鼠标点就可以跳到相应的行。

如果要调试,直接M-x gdb

如果要运行,M-x shell,输入a.exe或者./a.out就能运行了。

稍微高级一点点的解决方案是在.emacs中加入一个自定义的编译过程,例如:


;;编译
(defun quick-compile ()
"A quick compile funciton for C++"
(interactive)
(compile (concat "g++ " (buffer-name (current-buffer)) " -g -pg"))
)
;;快捷键F9
(global-set-key [(f9)] 'quick-compile)

(注意由于本blog的bug以上代码中的引号有问题,请自行改成英文的单引号和双引号,也就是分号右边的那个键在英文输入法下的效果。)

这样就可以直接按f9编译了,也可以把gdb绑定到你喜欢的键上,同样是写一个global-set-key之类的。

顺便答一位读者问:

sr.png

3 Comments

  1. Wangyin wrote:

    好东西
    谢谢了^_^

    Thursday, March 13, 2008 at 12:41 | Permalink
  2. Wangyin wrote:

    btw
    有没有kill掉一个buffer的快捷键?

    Thursday, March 13, 2008 at 12:46 | Permalink
  3. tianyi wrote:

    @Wangyin
    C-x k
    为何你的手机打不通?

    Thursday, March 13, 2008 at 12:51 | Permalink

One Trackback/Pingback

  1. Ubuntu 安装备忘 | Together: Find's Blog on Friday, August 29, 2008 at 12:29

    [...] 中勾上 生成帮助调试资料, 不然是无法调试的. dd牛好牛X的教程, 我真的不会. [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*