在WINDOWS环境下配置C语言编译环境
在WINDOWS环境下配置C语言编译环境
注:本篇文章同样适用于 C++
为什么需要配置
要想让自己写出来的 C 语言源代码程序 ( *.c 源代码文件 ) 转换为可以直接运行的二进制程序 (*.exe 可执行文件 ) , 从实质上解释, 就是我们需要一个转换器用来将 C 这门人能够理解的 高 级语言转换为机器能够识别执行的 低 级语言。这个转换的过程,我们称之为编译。
从专业角度来分析,这里的转换器我们用一个专有名词 编译器 来称呼它。
在 Linux 平台上,C语言的编译器是 GCC (GNU Compiler Collection),利用 Linux 自带的包管理器我们很快就能安装上然后使用(几乎是安装即用)(甚至 Linux 其本身就是用 C 写的),然后我们便可以使用例如 Vim 之类的编辑器编写代码,并马上可以调用 GCC 进行编译调试( 目标格式 *. out )。
GCC 与 Linux 均包含在 GNU (一套理想且自由的操作系统)项目内,他们俩的关系就像哥哥与弟弟一样亲密。
而在Windows平台上,这个编译器是 MinGW (Minimalist GNU for Windows),又称 “ mingw32 ”,是将 GCC 编译器和 GNU Binutils(一种分析二进制文件的工具) 移植到 Win32 平台下的产物,包括一系列头文件( Win32API )、库 和 可执行文件。它可以产生32位的Windows可执行文件( *.exe ),但是 MinGW 太老了,现在Windows平台大多是64位的,使用32位程序已经不能使电脑性能得到充分利用。但还好,我们还有 MinGW-w64 ,这个项目最初是从原 MinGW 产生的分支,后来分离出去独立发展了。MinGW-w64 可以产生 32位及64位 Windows 可执行文件,可满足用户对支持64位的要求,同时其支持的平台也大大扩展,从只能运行在 Windows 平台的 MinGW,到能在Win32、Win64、Linux32、Linux64等主流平台上都有版本可用的 MinGW-w64 。

如何配置 MinGW-w64
下载二进制文件
MinGW-w64 将自己所有的源代码以及自身编译后的二进制文件都发布在了 Sourceforge (全球最大的开放源代码软件开发平台和仓库)。
你可以点击这里来进入它的版本归档界面→Sourceforge
你应该会看到如下界面

( 截至我写这篇文章时(2020-06-30),目前 MinGW-w64 GCC 最新版本为 v8.1.0 )
我们可以在介绍里看到 MGW 的多个历史版本,还有它支持的各类处理器平台版本。
我们可以看到版本表里最新 v8.1.0 版本的下载选项多达8项,一般的我们下载 x86_64-posix-sjlj 这个版本就行了。


(点击名称即可开始下载)


若你具有很强的动手能力,你可以下载发布页里的压缩包,他们是 MinGW-w64 的源代码,你可以试着亲自把他们编译为二进制文件。
你可以点击这里来进入它的版本发布界面→Sourceforge


由于SF服务器在国外,有时下载体验会十分糟糕。
有梯子的小伙伴请用梯子下载。
当然你也可以找国内靠谱的软件源进行下载。
安装并配置系统变量
安装
压缩包下载后,我们还需要选一个合适的位置将它解压,而这个位置就相当于是安装位置。

(压缩包详情)

(解压文件到某位置)
注:为便于记忆,我们可以给解压目标文件夹改个短一点的名字,例如 MinGW64

(解压之后)
配置系统变量
解压之后,我们打开目录下的 bin 子文件夹,我们会看见一大堆没图标的 .exe 可执行文件,可能会让你头皮发麻,但是不用紧张。我们此时只需要记住当前这个 bin 文件夹的路径。


然后我们需要对系统变量进行配置。
- 按下键盘上的【徽标键】+【Pause】组合键,打开系统属性窗口。
- 单击左侧选项栏中的
高级系统设置。 - 点击
环境变量按钮。 - 在
系统变量一栏中选择Path项,选择编辑。 - 点击 新建 ,将刚才复制的
bin目录粘贴进去,点击确定。


我们给系统添加环境变量就类似于地图软件给我们预先规划好路线,等到出发时直接照路线走就行了,而不至于出发时临时到处去问路。
验证安装
当你看到这时,你的安装配置都应该已经完成了。
现在我们还需要进行最后一步,验证安装。
(简单点就是看你到底装没装上)
-
按键盘上的【徽标键】+【X】打开快捷菜单。
-
选择
Windows PowerShell选项 -
在出现的 PowerShell 命令行窗口中 输入
gcc -v -
回车,观察现象。


(出现上图的信息说明一切顺利)
杂谈
GCC (GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。)
——百科词条-GCC
GCC 并不单纯只支持 C 语言的编译,它还支持其他几种编程语言,例如Java,C++。
还记得那个令人头皮发麻的 bin 文件夹吗。
那里边的 exe 便是这些语言的编译前端。
例如里边的:

- 这个
g++.exe是C++的编译器,它不仅可以编译C++源代码,还可以编译C源代码。 gcc.exe此 gcc 非彼GCC,这个文件是C语言的编译器,但它不可以编辑C++源代码。

浙公网安备 33010602011771号