如何使用emacs编写c语言程序,并编译运行之

如何使用emacs编写c语言程序,并编译运行之,第1张

vi和emacs被分别被称为编辑器之神和神之编辑器。vi的入门精通都很难,emacs入门容易,精通难;vi使用起来不停地切换模式,而emacs则不停地ctrl,meta等组合键。因此,高德纳大师说 *** 作Emacs,就像d奏管风琴。

vi是有模式的,因此他很少使用组合键,编辑起来确实要高效,而我厌烦不停的模式切换。选择了emacs。很巧,在国外,几乎所有的大师都是使用emacs的,James Gosling们(Java语言设计者),Donald Knuth们(),Jamie Zawinski们,Eric Benson们。我觉得真正的工程师用Emacs。emacs是那种能让你用上100年的编辑器。

接下来介绍如何使用emacs来编写,编译,运行c程序。(先声明下,这是写给初学者看的。):

1.进入emacs 后,C-x,C-f找到文件或新建文件

然后编写程序,如hello.c

2.保存所编写的程序,命令是C-x,C-s,

3.编译程序。通过命令M-x shell或M-x eshell进行shell模式,然后使用gcc -Wall -o hello hello.c进行编译,如果没有安装gcc,请先安装gcc。

4.运行:./hello 即可运行编译好的可执行程序,如下图:

5.切换回编辑区: c-x b ’buffername‘可以切换到某个buffer,如要切换回刚才那个hello.c编辑区,输入c-x b "buffername"。有木有发现,emacs比vi好用多了。

(完)

望采纳,谢谢

学习C/C++的朋友有没有想过完完全全的在Linux环境下开发软件!?我想过,可能是因为个人对Windows平台有些偏见,或者说个人不是非常喜欢

在Windows下写程序的感觉,总觉得有那么一层膜隔阂着我们,不像Linux,可以做强大的服务器,在终端下只需要使用简简单单的命令便能完成相当复

杂的事情,是不是感觉很高深!?还有很多很多开源项目,Emacs也算一个吧!!!

呵呵,谈到在Linux下编程,我们不得不提这两款编辑器:vi/vim和Emacs(确切的说Emacs的功能已经远远超出了编辑器,使用它我们可能收

发邮件,玩游戏,排版等等)。Emacs的强大不得不让我们对设计出该编辑器的大师们发出崇高的敬意和赞叹,Emacs强大之处不仅仅局限于编辑功能,还

提供的许多自定义选项,还有我们可以不需要动鼠标便可完成日常工作(对于大多数人来说这可能不太现实),下面我只是简要的介绍如何使用Emacs编译/运

行C/C++程序,文中相关命令可以参考本人其他博文。

Emacs有很多版本,如Gnu Emacs、XEmac等等。而且Emacs在各个平台下均能表现的非常出色,前提是你要熟悉它。

首先,再次说明本人所使用的 *** 作系统是rhel 6.2,已经安装GNU Emacs 23.1.1和gcc version

4.4.6,注意Emacs只是一个编辑器,在我们程序员看来(其实我们也可以将其看作IDE,如果使用的比较熟练的话),最起码对于我这种菜鸟来说,还

不能十分熟练的玩转Emacs,它实在是太强大了,以至于有很多知识需要去记忆(不仅仅是快捷键)。

OK,不啰嗦了,下面进入正题:

1.启动Emacs,在终端输入“emacs&”命令后回车(你也可以输入“emacs”命令,不过当你在使用Emacs的时候,当前终端

就不为你工作了;并且如果你熟练使用Emacs的话也可以输入“emacs

-nw”命令以启动非X视窗下的Emacs),至于后面为什么要加一个“&”符,这是Linux里面的基本知识,加上“&”符后会在当前

终端下产生一个子进程以运行Emacs而不会对当前终端的工作造成任何影响,这里我们键入“emacs –nw”命令,启动界面如图1所示;

图1 键入“emacs –nw”命令后,Emacs的启动界面

2.打开/新建文件,进入Emacs界面后,键“C-x

C-f”以打开/创建一个新的文件(如图2所示),建议以C/C++语言里所规定的扩展名来指定创建的文件的扩展名,虽然在Linux下面我们不是十分强

调文件的扩展名,但是如果你选择正当的扩展名的话,将有助于高亮代码,并且Emacs会根据我们创建的文件的扩展名以进行不同语言(要知道,Emacs不

只是为了C/C++程序员设计的)编码风格的缩进;

图2 键“C-x C-f”,输入文件名以打开/创建一个新的文件

3.编辑文件,键“C-x C-s”存盘,本人测试的代码如下:

[cpp] view plain copy

#include

int main( ) {

std::cout <<"Hello, Emacs!!!"

<<std::endl

}

4.编译文件,这里我介绍两种方法。

法1:常规方法,参考Learning Gnu

Emacs,我们可以这样做:键“M-x”,此时在minibuffer中会显示“M-x”字样,输入“compile”命令后默认会显示

“Compile command: make -k”字样,此时把“make -k”删除后,运行相关编译命令(如现在我们应该键入“g++

test.cpp –o test”),如图3所示;

图3 minibuffer下键入“g++ test.cpp –o test”命令以编译源文件

法2:我想大多C/C++程序员会选择第二种编译方法,同样的,键“M-x”,输入“eshell”或“shell”命令,进入“eshell”或

“shell”缓冲区,这里我们键入的命令是“eshell”,然后同样的键入“g++ test.cpp –o

test”命令以编译源文件,如图4所示;

图4 eshell下键入“g++test.cpp –o test”命令以编译源文件

5.运行编译后的可执行文件,同样的按照第4步中的打开eshell缓冲区,输入相关命令即可执行编译后文件,这里我们应该输入“./test”命令,如图5所示。

图5 输入“./test”命令以执行编译后文件

注意:当我们进入其他缓冲区后,再想切换到编辑过的缓冲区可以键入“C-b

buffername”以切换到目的缓冲区。注意编辑(修改)后的缓冲区的名字格式为“*buffername*”,如上面我们切换到

“test.cpp”缓冲区应该buffername应为“test.cpp”,在我们打开“eshell”缓冲区之前我们已将其保存过了,切换到

“test.cpp”后再想切换到之前打开的“eshell”缓冲区的buffername应为“*eshell*”,这个缓冲区我们修改过了;

1.启动Emacs,在终端输入“emacs&”命令后回车(你也可以输入“emacs”命令,不过当你在使用Emacs的时候,当前终端就不为你工作了;并且如果你熟练使用Emacs的话也可以输入“emacs -nw”命令以启动非X视窗下的Emacs),至于后面为什么要加一个“&”符,这是Linux里面的基本知识,加上“&”符后会在当前终端下产生一个子进程以运行Emacs而不会对当前终端的工作造成任何影响,这里我们键入“emacs –nw”命令

2.打开/新建文件,进入Emacs界面后,键“C-x C-f”以打开/创建一个新的文件(如图2所示),建议以C/C++语言里所规定的扩展名来指定创建的文件的扩展名,虽然在Linux下面我们不是十分强调文件的扩展名,但是如果你选择正当的扩展名的话,将有助于高亮代码,并且Emacs会根据我们创建的文件的扩展名以进行不同语言(要知道,Emacs不只是为了C/C++程序员设计的)编码风格的缩进;

3.编辑文件,键“C-x C-s”存盘,本人测试的代码如下:

#include <iostream>

int main( ) {

std::cout <<"Hello, Emacs!!!"

<<std::endl

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11823697.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存