`
tansitongba
  • 浏览: 503645 次
文章分类
社区版块
存档分类
最新评论

如何在GNU Emacs环境下编译并运行C/C++程序?

 
阅读更多

版权声明:对于本博客所有原创文章,允许个人、教育和非商业目的使用,但务必保证文章的完整性且不作任何修改地以超链接形式注明原始作者、出处及本声明。

博客地址http://blog.csdn.net/shuxiao9058

原始作者:季亚


学习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”存盘,本人测试的代码如下:


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*”,这个缓冲区我们修改过了;

分享到:
评论

相关推荐

    用VIM编写C/C++程序

    ### 使用VIM编写C/C++程序的关键知识点 #### VIM简介 VIM(Vi Improved),作为Unix系统中最常用的文本编辑器Vi的增强版,凭借其高效性和灵活性深受开发者喜爱。相较于Emacs,VIM的学习曲线更为平缓,通过内置教程`...

    gnu emacs-24.3

    支持C/C++,Perl,Python,Lisp等等 玩游戏 计算器 记日记 煮咖啡 管理日程,Task,ToDo,约会等 个人信息管理 目录管理 文件比较 阅读info和man文档 浏览网站 为各种程序(TeX等)提供统一的操作界面 …… 此外...

    GNU emacs manual 24.5 17th edition

    在GNU Emacs Manual 24.5第十七版中,对Emacs版本24.5进行了更新说明,它为用户提供了一个详尽的指南来了解和使用Emacs。该手册详细介绍了Emacs的安装、配置和使用方法,包括字符、键和命令的使用,基础编辑命令, ...

    Linux系统下的C程序设计

    在Linux环境下进行C/C++程序开发,首先需要熟悉一些基本的开发工具和资源。以下是对几个关键步骤的详细介绍: 1. **编辑工具**:编写C/C++代码通常需要使用文本编辑器,Linux下最常用的编辑器有vi和emacs。vi是一款...

    Linux下C C++编程之编程环境的搭建

    在Linux环境下进行C和C++编程,首先需要安装并配置一套完整的开发工具链。这篇教程将带你一步步构建一个高效的编程环境。以下是你需要了解的关键步骤和相关知识点: 1. **安装GCC编译器**:GCC(GNU Compiler ...

    在Linux下编译C或C++程序的教程

    在Linux环境下编译C或C++程序是一项基本技能,尤其对于开发者来说至关重要。无论是Ubuntu、Red Hat、Fedora、Debian还是其他Linux发行版,遵循相同的基本步骤即可完成编译。下面将详细介绍如何在Linux中配置环境并...

    GNU.Emacs完全手册

    3. **编译与调试**: 直接在Emacs内运行编译命令,查看错误,并进行调试。 **五、Lisp扩展** 1. **Emacs Lisp简介**: 了解Emacs的内置脚本语言,用于自定义编辑器功能。 2. **定制配置**: 使用Elisp编写个人配置文件...

    Linux下C与C++环境

    在Linux环境下进行C和C++编程,需要搭建一个完整的开发环境。这包括安装必要的编译器、链接器、调试工具以及必要的库文件。本资料"Linux下C_C++环境.pdf"将详细介绍这一过程。 首先,C语言的编译器是GCC(GNU ...

    Emacs下用GDB调试

    Emacs作为一个强大的文本编辑器,集成了GDB(GNU调试器),使得开发者可以在Emacs环境中直接进行程序的调试工作,无需离开熟悉的开发环境。以下将详细介绍如何在Emacs下配置和使用GDB。 首先,为了充分利用Emacs的...

    如何利用Emacs来调试C++程序

    此外,Emacs提供了显示行号的功能,只需在用户目录下的.emacs配置文件中添加(global-linum-mode)指令并保存即可。 利用Emacs进行C++程序的调试可以分为几个步骤: 1. 设置断点。在Emacs中,你可以通过输入GDB命令...

    Linux下文本编辑利器Emacs简介与安装过程.pdf

    它还支持 C/C++、Perl、Python、Lisp 等语言,玩游戏、目录管理、浏览网站、为各种程序提供操作界面等。 2. Emacs 安装步骤 以 Redhat Enterprise 5 为例,安装 Emacs 需要经过以下步骤: 2.1 下载安装文件 首先...

    ccls Win10+mingw64编译版

    总之,`ccls Win10+mingw64编译版` 提供了一个在Windows 10环境下使用Emacs进行C/C++编程时的高效代码高亮工具。尽管未经广泛测试,但正确配置和使用可以显著提升编程体验,尤其是在没有集成开发环境(IDE)的情况下。...

    C++教程(w3cschool.2015版.文字版.带书签).pdf

    作为C语言的超集,C++能够兼容任何合法的C程序。 C++支持多种编程风格,包括过程化编程、面向对象编程以及泛型编程。面向对象编程的核心概念包括封装、数据隐藏、继承和多态。C++标准由核心语言、C++标准库和标准...

    LINUX环境下程序开发基础

    在Linux环境下,C语言程序的运行过程主要包括以下几个步骤: 1. **编写源代码**:开发者使用文本编辑器(如vi/vim、Emacs等)编写C语言源代码。 2. **编译和链接**:使用编译器(通常是`gcc`)将源代码编译并链接成...

    C语言编译器

    常见的IDE如Microsoft Visual Studio、Dev-C++、C++Builder、Emacs + GCC以及Eclipse+CDT,都包含了C编译器,同时提供了丰富的辅助工具,方便程序员专注于核心的编程任务。 C编译器的工作流程大致分为以下几个阶段...

    C C++ Linux程序员必须了解的10个工具及下载网址

    **知识点解读**:GDB(GNU Debugger)是GNU项目下的一个强大的调试工具,支持C/C++等多种语言的程序调试。GDB提供了一系列命令用于执行、单步调试、查看和修改内存中的变量值等功能,是调试复杂问题的利器。 ### 5....

    emacs_cscope

    Emacs_Cscope是一款集成在GNU Emacs编辑器中的Cscope工具,它使得开发者可以在Emacs环境中高效地使用Cscope功能。Cscope是一款强大的源代码浏览工具,尤其适合于C/C++等编程语言,它能帮助程序员查找、修改和理解大...

    emacs-gdb:GNU Emacs的GDB图形界面

    这个界面充分利用了Emacs的强大功能,使得程序员可以在一个统一的环境中进行代码编辑、编译和调试,提高了开发效率。Emacs本身就是一款高度可定制的文本编辑器,而GDB则是一款广泛使用的源代码级调试器,两者结合,...

Global site tag (gtag.js) - Google Analytics