标签:
提要:Emacs学习路线,MinGW配置,C\C++命令行编译
emacs是个强大的软件,学习emacs在很长时间内都很有用。
开始emacs之旅之前,我先到网上查了一下。发现几乎所有人都认为Emacs是可以很折腾的。这与我的观点不合。我认为工具应该不是拿来折腾的,而是用来解决问题的。
所以当我搜到了http://blog.csdn.net/redguardtoo/article/details/7222501(一年成为emacs高手)这篇文章时,作者在文章中提到的用实际问题推动学习的观点一下子吸引了我,因此,参照了作者的观点,我决定先不要动Emacs,先用来解决问题先,也就是什么配置都不做,直接用来做我需要做的事情。
下载emacs,安装,什么都不改动。接着开始快速指南[【这个是必须的,不然根本不知道怎么使用】,记录了一些快捷键,不用特地记住所有的快捷键,日常使用的时候会不自觉的记得常用的快捷键的这部分我记录了几乎全部快捷键。地址在这:http://blog.csdn.。net/baidu_27962861/rss/list有需要可以看看。
然后,可以开始使用emacs了。
我的实际需要解决的问题是我希望使用emacs写一些简单的C语言和C++程序,并且在不离开emacs窗口的前提下完成程序的编写和调试。编写C和C++需要先装编译器,常用的编译器有微软的visual C++和MinGW。两个我都有,Emacs编写C和C++时用MinGW。
首先,我使用windows而且安装了编译器MinGW,设置了MinGW的环境变量。如果还没有安装,那么可以参照以下步骤。
1、上官网:https://sourceforge.net/projects/mingw/files/找到适合的版本,下载并且安装。
2、接着需要设置环境变量。因为编译的时候需要在命令行的模式下进行,如果没有设置环境变量就无法编译了,因为会提示不是内部或者外部命令。
假设安装路径是C盘的根目录也就是C:\MinGW(其他目录就按照其他目录设置)
依次鼠标点击桌面“我的电脑”->选择左侧的“高级系统设置”,选择“高级”->“环境变量”,然后再Path里增加;C:\MinGW\bin声明。点击确定。
电脑并不会立即刷新,可能需要等待一点时间,或者重启一下才能刷新。
怎么确定有没有设置好呢?
打开命令行(win+R)输入cmd回车,进入命令行,输入gcc,如果没有提示gcc不是内部或者外部命令就表示已经设置好了,也可以用gcc -v查看版本的命令确定,如果有一些版本信息出现就表示设置好了。
3、编译指令
怎么使用这个编译器编译程序呢?
答案是:gcc -o 【目标文件名】 【源文件名+后缀】(注:-o是字母o不是数字0,某些字体下他们看起来有点像)
例子:假设e:\下有个hello.c的源文件,那么编译的时候的步骤就是:
-打开cmd,找到源文件目录也就是e:\。一开始打开并不是在这个目录下,需要手动打开。输入e:回车,进入e盘,已经是源文件目录了,可以用编译命令了。
-输入gcc -o hello hello.c观察窗口里的信息,如果编译成功的话,命令会被清空,去源文件目录看会增加hello.exe文件。目标文件名是可以自由取得,不一定就叫hello。下面是截图
里面是hello.c的源代码
#include<stdio.h>
int main()
{
printf("hello");
return 0;
}
最下面表示编译成功了。倒数第二个是写错命令了,-o不能分开。
到目录查看,可以看到多了hello.exe文件。
到此,我们已经能够使用cmd编译程序了。接下来就要进入Emacs编译了。
4、Emacs编译
-打开Emacs,使用C-x C-f打开e:\hello.c,检查无误之后,就可以编译了。(C表示Ctrl,C-x就是同时按着Ctrl和x)
-为了执行命令行的命令我们需要打开一个shell,这个具体是什么现在我并不懂,也不需要立马知道,所以,先用着吧。
命令:M-x shell(M指Zlt,M-X就是Alt和x同时按)
此时,Emacs中出现了类似cmd中的窗口,这个时候就可以像在cmd中实现编译一样了。直接像在cmd里那样干就能搞定。
-运行程序。同样在shell中,可以在编译完成之后运行看看结果。
命令:直接敲程序的名字,带上后缀名。
以我们上面的hello.c为例。编译之后会产生hello.exe,此时,直接在shell里敲入hello.exe就能运行。
截图:
结果就显示出来了。
到目前为止,已经能够使用Emacs编写编译运行C和C++了。大功告成。
其他语言,比如java、汇编和python这类应该是大同小异的,可能只有环境变量多少,编译命令不同。还没有试过不敢肯定。
现在,有个很重要的问题还没有解决,就是中文显示会变成方框的问题。所以,下一篇会有关于中文显示的解决办法。
标签:
原文地址:http://www.cnblogs.com/xiong-fu/p/5470988.html