自学编程,从此开始

上第2学堂,听有趣的编程课

课文: 《安装GCC套件(Windows 环境)》 (点击查看完整内容:视频+评测+讨论+……)

作者:第2学堂

在线安装mingw-w64 GCC套件,包括检查系统是32位或64位等前置工作和安装后的测试试用。

课文题图

 

安装GCC (Windows)

学习C++,工作之后有很大可能是在Linux下编程,并且在今天这个时代,只要你不是使用微软公司专用的技术,那么在Linux下写程序——不仅仅是C/C++——基本是更加方便和强大。事实上微软公司都已经不得不在自己的Windows操作系统下,努力地实现一个Linux的环境,比如Ubuntu。所以很快就会有一天,我们会转到Linux下教大家如何写C/C++程序,但现在刚一开始,为了避免大家要在两条战线上学习,所以后续不少入门课程,我们还是使用Windows教学。

GCC 在 Windows下并没有官方实现,最初提供GCC套件在Windows实现的开源项目是 mingw;后来又有其上分支项目 mingw-w64 项目,用于附加提供对64位系统的支持(当然,mingw-w64项目也支持32位系统)。除这二者之外,后来还有同样基于mingw的TDM-GCC的实现。我们选择源于2007年的,有着广泛项目在使用的mingw-w64。其网址为: http://mingw-w64.org

另外,尽管当前主流的计算机和操作系统基本都已经是64位,但我们还是提供了在Windows下确切检测系统位数。方法倒也简单,三个步骤:一、打开控制台(cmd程序),二、在控制台输入 systeminfo 并回车,三、在输出结果找到“系统类型”,后面如果有 x64字样,就是64位机器了。

如何在Windows下打开控制台:

估计会有些同学不知道如何打开控制台……嗯,此处是我们唯一回答这一问题的地方:按下键盘上的象征Windows的 “小旗键”不放,然后再按一次字母 ‘R’ 键,屏幕上将弹出一个“运行”窗口,输入 cmd ,然后回车即可。

进入 http://mingw-w64.org 官网,找到“Downloads”链接进入其下载页面,找到表格中 “MingW-W64-builds” 链接,再点击,发现一个Sourceforge 的外链 ,点击后,等个几秒,一切正常的话,就会弹出 在线安装程序。下载后运行它,在配置选择步骤,重点是根据你的系统是32位或64位,选择i686或x86_64,别的都不用改,就一路“next”下去……

关于 posix 线程模式

安装时,我们在编程模式上使用了“posix”。POSIX全称是 “Portable Operating System Interface of UNIX”,意思是”可移植的操作系统接口“。不过,在Windows下使用posix的线程模式,反倒会给我们带来一点点小麻烦,就是每次编程使用到线程时,需要加上用于模拟Linux/UNIX下的线程库。考虑到我们早晚会在Linux下学习编程甚至工作,所以我们接受这点小麻烦。

安装结束后,在Windows文件浏览器中打开安装的目标路径,如果在刚才的安装过程中,你没有修改目标路径,那通常就在“..\Program Files\mingw-w64”目录下。唯一例外是在64位系统上,如果你也安装了32位的GCC套件,那么目标路径应该在“..\Program Files (x86)\mingw-w64” 。

在以上路径下,找到 mingw-w64.bat (此类文件扩展名称为“批处理”),运行它将弹出一个控制台,并且自动在这个控制台下修改了Windows 操作系统的“PATH”环境变量,以让当前控制台知道GCC的那些可执行文件都在哪里。课程的视频中没有提到如何观察path环境变量,大家可以在双击“mingw-w64.bat”之后打开的控制台下,输入以下命令:

PATH

应能在输出中找到类似 :

C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6\mingw64\bin;

这样的内容。注意,GCC的可执行程序(编译器、链接器、制作器、调试器),全在bin这一线目录下。

接着在同一控制台下输入:

gcc -v

或者输入:

g++ -v

都可以看到当前已安装的GCC套件的版本信息。GCC套件可以编译C源代码,也可以编译C++源代码(事实上还可以不少其它语言),出于明确指定,我们通常使用g++用于编译C++的代码,否则,GCC将通过源文件的扩展名进行区分。

至此,GCC 套件(mingw-w64)已经在我们的Windows下的电脑上安装上,并且确定可用了。不过,为了能享受高手或牛人或大拿们纯手工写代码的感觉,我们还需要打开记事本,然后再一次写下——之前我们是在网页上写的——“Hello world” 代码,并以视频中提示的编码,保存它。假设保存后得到 “C:\d2school\main.cpp”。我们需要在前面通过指定的bat文件打开的控制台下,进入该目录,并输入:

g++ main.cpp -o hello_gcc.exe

其中,main.cpp是待编译的源文件,-o 参数指示 hello_gcc.exe 是我们希望生成的可执行程序的名字。如果你写的代码无误——如果你确实是默写出来的,那么你很棒——我们如期得到hello_gcc.exe。运行它,也将看到 "Hello world!" 字样。

不要以为这不过是之前在网页上写代码的简单的重复!不过,之前才真的是为了感受——它似乎很方便,但是,一个网页编辑器根本无法支撑我们将来的实际工作,甚至连学习都支撑不起——而这一次是用来证明,GCC套件真的就是你的电脑上,并且它漂亮地完成了它的第一次活!