[zt] Emacs+GCC+GDB的最基本用法
http://cuitianyi.com/blog/emacsgccgdb%E7%9A%84%E6%9C%80%E5%9F%BA%E6%9C%AC%E7%94%A8%E6%B3%95/
用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之类的。
浙公网安备 33010602011771号