有很多初学者问我C语言或C++用什么编辑器比较好,也有人问我哪个编辑器比较好用。如果对方是个新手,我会推荐Dev-C++;否则我就会回答“Code::Blocks”。在Windows下我最喜欢的还是MinGW与Code::Blocks的组合。所以今天我来介绍一下如何在Windows下安装配置它们。
新手们(包括一部分有一定编程经历的人)往往会混淆“编译器(Compiler)”和“编辑器(Editor,IDE)”这两个概念。编译器负责把C/C++代码编译成可执行代码,换而言之,它读取.c或.cpp文件并生成.exe文件(Windows下);编辑器是方便编辑代码用的,它存取.c或.cpp并把里面的代码以比较适合的样式(比如自动缩进、代码高亮)显示在屏幕上,方便编辑,本质上它是一个带有附加功能的记事本。一般来说,我们用编辑器打开代码文件,要编译时,编辑器把文件保存并调用编译器编译这个文件,编译器就会生成可执行文件。
现在的Windows,TCC(Turbo C的编译器)早已衰落,流行的C/C++编译器有两个:
流行的编辑器则有很多:
还有其他的各种编辑器,不过很多要收费。
下面还是回到正题,讲讲MinGW+Code::Blocks的安装方法。分3步:安装MinGW,安装Code::Blocks稳定版,安装Code::Blocks Nightly Builds。
其实Code::Blocks网站上有一个包含MinGW的版本供下载,不过版本比较旧,官方说不支持Vista。因而最好自行单独下载安装MinGW。
SourceForge.net(开源软件网站,接下来的很多地址都来自于这里)有一个MinGW的官方在线安装包,下载地址:http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/MinGW%205.1.6/MinGW-5.1.6.exe/download
在安装向导里,你可以选择需要的语言,如C++,Java,ada等。安装时会从SourceForge.net读取文件,因此请保证网络连接(安装程序会参考IE的代理设置)。如果你身处教育网且不能访问SourceForge就比较杯具,自己去找找别的下载网站吧。
另外,注意安装过程中的这个页面:
必须至少选中MinGW base tools、g++ compiler、MinGW Make三项。
这个方法的不足之处在于很多常用的MinGW组件没有包含进来,比如gdb调试器,iconv字符集转换器等。下面的方法可以加装gdb。
gdb是MinGW配套的调试器,不存在于上述MinGW安装包中。因此要单独下载。在这个页面可以找到MinGW的其他相关组件的下载链接,可以找到“GNU Source-Level Debugger”一项,这一栏中包含gdb最新版。现在的最新版是7.1,下载地址:http://sourceforge.net/projects/mingw/files/GNU%20Source-Level%20Debugger/GDB-7.1/gdb-7.1-2-mingw32-bin.tar.gz/download
下载后解压,然后复制到MinGW安装目录即可——此时压缩包中的bin文件夹和MinGW安装目录中的bin文件夹应该会合并,如果合并了就说明你复制到的位置对了。
这个方法比较方便,如果不需要除C/C++以外的编译器,推荐使用这个方法。
有人为C/C++编译环境通常用到的组件重编译并打了个包,叫做TDM’s GCC/mingw32 Builds,你可以看看最新版下载页面。现在我看到的最新版(32位)下载链接是http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/tdm-gcc-4.5.1.exe/download
直接安装即可。这个包已经包含了gdb、iconv等。
最新的稳定版是10.05。下载链接:http://download.berlios.de/codeblocks/codeblocks-10.05-setup.exe
如果你不想用10.05,你可以选择上一个稳定版8.02。给几个链接,任选一个下载安装即可(现在貌似后两个比较好用):
http://downloads.sourceforge.net/codeblocks/codeblocks-8.02-setup.exe
http://download.berlios.de/codeblocks/codeblocks-8.02-setup.exe
http://download2.berlios.de/codeblocks/codeblocks-8.02-setup.exe
这几个链接,是在官方网站的这个页面找到的。
Nightly Builds提供一些新的功能,当然你可以不安装。
在Code::Blocks论坛里常常会放出最新的Nightly Builds版本:http://forums.codeblocks.org/index.php?PHPSESSID=0ab4555fb9123d5e4ef7e2dfc23a5ee7&board=20.0
这一页的的一个非黑体字的栏目就是最新的版本,下载下来解压缩到安装目录即可(有很多文件被替换就对了)。
本文更新时最新Night Builds版本为2010.9.4的6570版,下载链接:http://prdownload.berlios.de/codeblocks/CB_20100904_rev6570_win32.7z。
这样,Code::Blocks就进入很健康的状态了,试着写段程序吧!第一次使用的时候,Code::Blocks会让你指定编译器,如果你已经安装了Visual Studio,你也可以选择用它作为编译器(其实我不推荐这么做)。另外,练好你的英文哦!(实在练不好的只好找非官方中文包,不一定兼容最新的Nightly Builds。)
因为字符集的问题,Code::Blocks在Windows下会生成含乱码的程序。这里,我们可以给编译器增加参数来达到消除乱码。
首先,你的MinGW需要包含iconv。按前面介绍的“安装MinGW方法二”安装的MinGW包含iconv,不必操心了。如果你的MinGW不包含iconv,用下面的方法是无效的,只会带来一个新的编译错误。
好了,讲讲具体操作。
找出编译器和调试器设置:Settings->Compiler and Debugger。
左边选Global compiler settings,右边选Compiler settings下的Other options。
在下面大大的文本区中可以填入编译器选项。我们需要加上一行
-fexec-charset=GBK
加上后的效果如图所示:
如果你打开了一个别的编辑器中编写的源代码,你可能需要再加上一行
-finput-charset=GBK
这两个命令指定了MinGW编译时生成或读取文件所使用的字符集。