<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>翼若垂天之云 &#187; GDB</title>
	<atom:link href="http://cuitianyi.com/blog/tag/gdb/feed/" rel="self" type="application/rss+xml" />
	<link>http://cuitianyi.com</link>
	<description>Journey of seeking Truth, Love, and Strength.</description>
	<lastBuildDate>Tue, 27 Apr 2010 11:20:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Emacs+GCC+GDB的最基本用法</title>
		<link>http://cuitianyi.com/blog/emacsgccgdb%e7%9a%84%e6%9c%80%e5%9f%ba%e6%9c%ac%e7%94%a8%e6%b3%95/</link>
		<comments>http://cuitianyi.com/blog/emacsgccgdb%e7%9a%84%e6%9c%80%e5%9f%ba%e6%9c%ac%e7%94%a8%e6%b3%95/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 04:33:32 +0000</pubDate>
		<dc:creator>tianyi</dc:creator>
				<category><![CDATA[程序园]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[GCC]]></category>
		<category><![CDATA[GDB]]></category>

		<guid isPermaLink="false">http://tianyi.yo2.cn/emacsgccgdb%e7%9a%84%e6%9c%80%e5%9f%ba%e6%9c%ac%e7%94%a8%e6%b3%95/</guid>
		<description><![CDATA[用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之类的。
顺便答一位读者问：

]]></description>
			<content:encoded><![CDATA[<p>用Emacs+GCC+GDB做OI题的最基本用法是很简单的。以下就是我在NOI期间的解决方案。</p>
<p>首先，用Emacs编辑好.cpp程序，例如test.cpp。</p>
<p>然后，<code>M-x compile</code>，把那一行命令改成<code>g++ test.cpp -g -pg</code>，这一行命令会被记住，再次编译同一个文件就不用改这一行了。参数“-g”是为了加入调试信息，“-pg”是为了profiling，若不需要可以去掉这些参数。如果有编译错误会在下面的buffer里显示的，直接用鼠标点就可以跳到相应的行。</p>
<p>如果要调试，直接<code>M-x gdb</code>。</p>
<p>如果要运行，<code>M-x shell</code>，输入a.exe或者./a.out就能运行了。</p>
<p>稍微高级一点点的解决方案是在.emacs中加入一个自定义的编译过程，例如：</p>
<blockquote><p><code><br />
;;编译<br />
(defun quick-compile ()<br />
"A quick compile funciton for C++"<br />
(interactive)<br />
(compile (concat "g++ " (buffer-name (current-buffer)) " -g -pg"))<br />
)<br />
;;快捷键F9<br />
(global-set-key [(f9)] 'quick-compile)<br />
</code></p></blockquote>
<p>（注意由于本blog的bug以上代码中的引号有问题，请自行改成英文的单引号和双引号，也就是分号右边的那个键在英文输入法下的效果。）</p>
<p>这样就可以直接按f9编译了，也可以把gdb绑定到你喜欢的键上，同样是写一个global-set-key之类的。</p>
<p>顺便答一位读者问：</p>
<p><a href='http://cuitianyi.com/wp-content/uploads/2008/03/sr.png' title='sr.png'><img src='http://cuitianyi.com/wp-content/uploads/2008/03/sr.png' alt='sr.png' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://cuitianyi.com/blog/emacsgccgdb%e7%9a%84%e6%9c%80%e5%9f%ba%e6%9c%ac%e7%94%a8%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>叛变Emacs</title>
		<link>http://cuitianyi.com/blog/%e5%8f%9b%e5%8f%98emacs/</link>
		<comments>http://cuitianyi.com/blog/%e5%8f%9b%e5%8f%98emacs/#comments</comments>
		<pubDate>Sun, 08 Jul 2007 07:25:38 +0000</pubDate>
		<dc:creator>tianyi</dc:creator>
				<category><![CDATA[生活志]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[GDB]]></category>

		<guid isPermaLink="false">http://tianyi.yo2.cn/%e5%8f%9b%e5%8f%98emacs/</guid>
		<description><![CDATA[以前我爱用Vim，总觉得编写代码得心应手，编译调试就力不从心。特别是Vim到底怎么样能够在不用插件的情况下跟gdb完美结合，我到现在也没搞定。偶尔听到有人说Emacs+gdb很爽，就试了一下。按下M-x gdb后，我决定叛变了。
近段用Emacs写几个程序练练手吧，还好Vim没有我想象的那般在我脑中根深蒂固。
]]></description>
			<content:encoded><![CDATA[<p>以前我爱用Vim，总觉得编写代码得心应手，编译调试就力不从心。特别是Vim到底怎么样能够在不用插件的情况下跟gdb完美结合，我到现在也没搞定。偶尔听到有人说Emacs+gdb很爽，就试了一下。按下M-x gdb后，我决定叛变了。</p>
<p>近段用Emacs写几个程序练练手吧，还好Vim没有我想象的那般在我脑中根深蒂固。</p>
]]></content:encoded>
			<wfw:commentRss>http://cuitianyi.com/blog/%e5%8f%9b%e5%8f%98emacs/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
