我也酷他一把——EMACS + GDB 小试牛刀
最近一段时间由于写了个PHP,于是对GNU重生激情,把实验室里那台机子弄上个UBUNTU 6.10(本来打算用7.03的,无奈突然找不到刻盘了)。
同往常一样,搞那些恶心的FTP,SSH,VNC又花了我差不多一天的时间,弄VNC的时候出了点小问题,GOOGLE了半天,意外的把X协议看明白一点点了(居然X只是一个C/S结构的应用程序)。可以通过SSH/TELNET来传输信息,远程机装客户端,主机装个X服务程序如XFREE来实现远程桌面。NB啊。
怀着对先人的崇高敬意我开始了EMACS配置之旅(我对EMACS有一种畏惧和喜爱,就像……一样),本来我对那东西就是相当的不行,结果,结果……一开始就出问题了,在VNC下面所有东西都是小框框,英文,汉子,数字,全部死光光。
我,顿时对EMACS那无比稀奇古怪的字体加载方式感到崇拜之至。(以前在FC5下好多汉字显示不出来,装上各种语言包之后,似乎EMACS开始使用各种语言包自带的字符来拼凑汉字……)
万幸,我找到了一个EMACS23的DEB包,装上之后显示正常。看着一个个有胳膊有腿的汉字,爽阿,而且SCIM也支持,哦也。
然后我开始尝试试用所谓的“EMACS牌IDE”。我是菜鸟,我很清楚这一点,所以能用默认配置的,咱都用,稳稳当当跑个几次再说。
GOOGLE,再GOOGLE,居然让我大致看明白了:G++编译好,然后用自带的那个DEBUGGER,开始,多窗口,堆栈跟踪,Watch Expression,还真有那么回事儿。
光写hello,world当然不行。在ZOJ上挑了个弱题做做,1799,够简单吧。
代码5分钟就些好了。看了半天没什么错,运行时出问题了,于是用那所谓天下1/3程序员使用的EMACS来调一下吧,结果……惨不忍睹……
以前用VS2005的时候,总觉得VC6别扭,代码补全差劲,出错信息难读,变量显示不够智能。
结果我发现相对于GDB,VC6简直就是个神一样的东西。
当我还觉得VC6里STL显示差劲,不能自动格式话的时候,EMACS+GDB这个东西连STL的毛都显示不出来。这叫我怎么调阿,我想输表达式,找不到,要重置,没提示没按键的,稍微点下鼠标,屏幕上的东西就乱跑,重新编了一句代码,还得保存,编译,再调用。没办法,搜了一篇GDB的大概用法,胡乱看了一通,花了1个小时多才找到错误,原来是一个下标赋错值了。在VS2005里2分钟就能搞定……
我这种东西写出来,被牛人看到定是要狂羞辱的,但是事实就是这样,好歹我也是个计算机专业大三的老人了,搞个简单的东西都要折腾这么久,我老爸老妈他们估计这辈子是不会用这linux了(来,QQ斗地主之前先启动XX进程,然后配置一下XX,更新一下XX.XX,然后按M-x qq_dz进入游戏,当然也可以写一个SHELL来一次性完成……我估计他们就要把电脑当成魔鬼了)。
不过折腾也是一件比较有意思的事情,所以我打算继续折腾一下,说不定那天俺就正的得到成仙了。
附图一张:我的EMACS
![](https://www.cnblogs.com/images/cnblogs_com/melorain/92753/r_%e6%88%91%e7%9a%84EMACS.png)
同往常一样,搞那些恶心的FTP,SSH,VNC又花了我差不多一天的时间,弄VNC的时候出了点小问题,GOOGLE了半天,意外的把X协议看明白一点点了(居然X只是一个C/S结构的应用程序)。可以通过SSH/TELNET来传输信息,远程机装客户端,主机装个X服务程序如XFREE来实现远程桌面。NB啊。
怀着对先人的崇高敬意我开始了EMACS配置之旅(我对EMACS有一种畏惧和喜爱,就像……一样),本来我对那东西就是相当的不行,结果,结果……一开始就出问题了,在VNC下面所有东西都是小框框,英文,汉子,数字,全部死光光。
我,顿时对EMACS那无比稀奇古怪的字体加载方式感到崇拜之至。(以前在FC5下好多汉字显示不出来,装上各种语言包之后,似乎EMACS开始使用各种语言包自带的字符来拼凑汉字……)
万幸,我找到了一个EMACS23的DEB包,装上之后显示正常。看着一个个有胳膊有腿的汉字,爽阿,而且SCIM也支持,哦也。
然后我开始尝试试用所谓的“EMACS牌IDE”。我是菜鸟,我很清楚这一点,所以能用默认配置的,咱都用,稳稳当当跑个几次再说。
GOOGLE,再GOOGLE,居然让我大致看明白了:G++编译好,然后用自带的那个DEBUGGER,开始,多窗口,堆栈跟踪,Watch Expression,还真有那么回事儿。
光写hello,world当然不行。在ZOJ上挑了个弱题做做,1799,够简单吧。
代码5分钟就些好了。看了半天没什么错,运行时出问题了,于是用那所谓天下1/3程序员使用的EMACS来调一下吧,结果……惨不忍睹……
以前用VS2005的时候,总觉得VC6别扭,代码补全差劲,出错信息难读,变量显示不够智能。
结果我发现相对于GDB,VC6简直就是个神一样的东西。
当我还觉得VC6里STL显示差劲,不能自动格式话的时候,EMACS+GDB这个东西连STL的毛都显示不出来。这叫我怎么调阿,我想输表达式,找不到,要重置,没提示没按键的,稍微点下鼠标,屏幕上的东西就乱跑,重新编了一句代码,还得保存,编译,再调用。没办法,搜了一篇GDB的大概用法,胡乱看了一通,花了1个小时多才找到错误,原来是一个下标赋错值了。在VS2005里2分钟就能搞定……
我这种东西写出来,被牛人看到定是要狂羞辱的,但是事实就是这样,好歹我也是个计算机专业大三的老人了,搞个简单的东西都要折腾这么久,我老爸老妈他们估计这辈子是不会用这linux了(来,QQ斗地主之前先启动XX进程,然后配置一下XX,更新一下XX.XX,然后按M-x qq_dz进入游戏,当然也可以写一个SHELL来一次性完成……我估计他们就要把电脑当成魔鬼了)。
不过折腾也是一件比较有意思的事情,所以我打算继续折腾一下,说不定那天俺就正的得到成仙了。
附图一张:我的EMACS
![](https://www.cnblogs.com/images/cnblogs_com/melorain/92753/r_%e6%88%91%e7%9a%84EMACS.png)