Windows安装MinGW和简单的使用教程

什么是MinGW?

MinGW,是Minimalist GNU for Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时(C Runtime)库(MSVCRT.DLL),该库在所有的 NT OS 上有效,在所有的 Windows 95发行版以上的 Windows OS 有效,使用基本运行时,你可以使用 GCC 写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的 C 运行时(C Runtime)扩展,与基本运行时相结合,就可以有充分的权利既使用 CRT(C Runtime)又使用 WindowsAPI功能(该段内容来自百度百科)。

 MinGW-w64是MinGW的64位版本,MinGW在多年前就已经将开发精力转移到64位系统上了,32位MinGW多年未曾更新了。以下的安装过程都建立在64位系统的基础上进行。

如何下载

可以前往MinGW的官网进行下载:https://www.mingw-w64.org/downloads/

MinGW将其托管到sourceforge上了,也可以前往sourceforge下载:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/?tdsourcetag=s_pctim_aiomsg

 在sourceforge上下载的话选择install.exe文件下载即可,小编接下来采用的就是这种方式。使用可执行安装文件进行安装对新手来说比较友好。也可以采用免安装的形式来下载安装MinGW。最后,如果使用带MinGW的codeblock,可以直接跳到环境变量配置过程。

如何安装

安装器安装

下载完install.exe文件后运行该软件,进入如下页面:

欢迎界面

点击next进入安装配置;

选择版本

选择安装的MinGW版本号,没有特殊要求的话(如果只是为了学习)直接安装最新版本即可:

选择系统架构

选择系统架构,X86_64是64位系统,i686是32位系统。

选择目标系统架构

选择操作系统接口协议:开发类Unix(linux,macOS,Unix等)系统的程序选择posix,开发Windows程序的选择win32即可。

异常处理类型

选择异常处理类型:异常处理在开发中非常重要,在开发的过程中,大部分的时间会耗在处理各种异常情况上。seh 是新发明的,而 sjlj 则是古老的。seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位。建议64位操作系统选择seh。

安装路径

选择安装路径,点击next即可进入安装过程(需要联网下载MinGW的相应数据)。

安装完成后可以到相应的安装路径下看到这样的文件夹:

安装成功后路径

免安装版本

我们可以直接下载相应的MinGW的压缩包,解压也可得到上面安装后的文件夹。以上述的安装版本为例,我们要选择的安装版本如下图所示:

解压包

环境变量配置

安装完MinGW后需要进行环境变量的配置,在环境变量中的path变量中添加上面文件夹内的bin文件夹即可:

环境变量配置

校验

在命令提示符中输入​gcc-v​或者​g++ -v​,如果有输出内容,则证明配置成功。

校验

简易使用

编辑代码

使用记事本或者代码编辑器写一段程序(这里不推荐使用记事本,小编使用vscode)。

源代码

首先通过命令行进入你准备要创建文件的目录下进行后续操作。

编译过程

编译过程分为四个步骤:预处理、编译、汇编、链接。

1.预处理

预处理主要处理源文件中的“#include”、“#define”等预处理命令。

预处理主要完成的工作有:

(1)删除#define,展开宏;

(2)处理条件编译指令,预处理程序先判断条件,在根据条件修改源代码;

(3)删除注释;

(4)添加行号,以及文件名标识,便于调试

(5)删除“#include”,插入相应的头文件;

使用​g++ -E test.cpp -o test.i​​命令,预处理后得到​test.i​文件

预处理

2.编译

生成汇编代码的过程,使用命令​g++ -S test.i -o test.s.​生成汇编文件​test.s​文件,当然直接从​test.cpp​文件得到汇编文件也可以。

编译成汇编

3.汇编

将汇编代码转化成机器指令,生成目标二进制代码。

使用命令​g++ -c test.s -o test.o​生成​test.o​文件

汇编转化为机器指令

4.链接

通过链接库文件,将目标文件转化成可执行文件

使用命令​g++ test.o -o test.exe​

链接

当然,一般情况下,可以直接使用​g++ test.cpp -o test​ 就可以生成可执行程序了。

运行程序

最后使用命令test.exe,即可运行程序。

命令行运行程序

也可以直接点击exe文件进行运行。

点击运行