Emacs下编译C++/C程序<转>

时间:2021-01-03 14:25:01

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

Emacs下编译C++/C程序<转>

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

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

Emacs下编译C++/C程序<转>

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

写代码!

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

法1:常规方法,参考Learning Gnu Emacs,我们可以这样做:键“M-x”,此时在minibuffer中会显示“M-x”字样,输入“compile”命令后默认会显示 “Compile command: make -k”字样,此时把“make -k”删除后,运行相关编译命令(如现在我们应该键入“g++ test.cpp –o test”),如图3所示;

Emacs下编译C++/C程序<转>

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

法2:我想大多C/C++程序员会选择第二种编译方法,同样的,键“M-x”,输入“eshell”或“shell”命令,进入“eshell”或 “shell”缓冲区,这里我们键入的命令是“eshell”,然后同样的键入“g++ test.cpp –o test”命令以编译源文件,如图4所示;

Emacs下编译C++/C程序<转>

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

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

Emacs下编译C++/C程序<转>

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

注意:当我们进入其他缓冲区后,再想切换到编辑过的缓冲区可以键入“C-b buffername”以切换到目的缓冲区。注意编辑(修改)后的缓冲区的名字格式为“*buffername*”,如上面我们切换到 “test.cpp”缓冲区应该buffername应为“test.cpp”,在我们打开“eshell”缓冲区之前我们已将其保存过了,切换到 “test.cpp”后再想切换到之前打开的“eshell”缓冲区的buffername应为“*eshell*”,这个缓冲区我们修改过了;