首先了解一下什么是编译器?
概述
编译器,可以简单地将它理解为一种翻译器, 就类似于专门的翻译一样, 要知道,计算机只认识二进制也就是 0 和 1 组成的代码指令
而我们平常所编写和开发的的C 、C++、java、php、Go、python等等代码计算机本身是根本无法识别的,只有将这些程序代码中的每条语句翻译成对应的二进制指令,计算机才能执行, 这就是编译器的核心作用!
什么是GCC?


GCC全称GNU Compiler Collection是由GNU开发的编程语言编译器所以说GCC就是C语言的翻译器
那么GNU又是一个什么鬼? 这是一个了不起的计划什么计划呢? 说到这个就不得不说一下历史了
讲故事GCC的历史
在1983 年有一个叫理查德·斯托曼的人发起的名为GNU计划他的目标是打造出一套完全自由也就是自由使用、自由更改、自由发布、开源的操作系统, 你可以理解为不要钱!:smile: 然后这个系统就暂定为GNU 操作系统并且也设计出了这套系统的内核并命名为The Hurd
但是这个计划还没有搞出个啥花样就横空出世了另外一个开源操作系统Linux, 这个大家都知道吧 , 所以最终经过种种事情之后(此处省略几百字):smile: ,GNU 计划选择Linux作为GNU 操作系统的内核, 那么GNU有了这个Linux基础之后就基于这个平台开发了许多系统的部件 其中就有一个部件叫做GCC
现在有些人叫GNU/Linux还有些人直接就叫Linux也就是这么来的, 所以有的时候你可以理解为GCC就是为开源系统打造的一款编译器也可以说是Linux下的C/C++ 编译器
GCC的强大
最初GCC的确只是用来翻译C语言的, 随着时间的迭代不断的更新 ,不断的进步,GCC的翻译功能也得到了很大的扩展, 它不仅可以用来编译 C 语言,还可以编译Fortran、Pascal、Objective -C、Java、Ada、Go等多种编译语言所编写的代码
那么此时此刻的GCC功能上也已经不在单一了,而是一整套的组合拳功能, 是支持多种程序语言的编译器,算是一种编译器合集Compiler Collection后来就被叫做GNU编译器套件
GCC和Linux渊源极深, 目前几乎所有的Linux 发行版默认安装有GCC编译器
GCC的使用形式
我们既然学习的是C语言,那么GCC的核心目的是将我们编写的C语言程序编译成一个二进制可执行文件
GCC编译器本身是没有界面窗口,使用它必须编写对应的gcc 命令, 所以熟悉gcc命令就显得很重要了,否则你怎么编译你的C语言程序代码呢?
但不是所有的IDE都集成了GCC的, 如果没有集成GCC那么你就可能只有通过手工来进行代码的编译操作,也就是通过GCC的命令,来执行你的C语言文件, 这个就要分人了,有些人喜欢可视化操作,有些人习惯了命令行操作用相应的GCC命令来编译C语言或其他程序
win10中如何安装与卸载GCC编译器?


什么是 MinGW
概述
MinGW全称是:Minimalist GNU on Windows你可以暂时理解它是一个移植到了windows系统平台下的极简GCC编译器
我们知道GCC是在Linux系统上自动就预装好了的编译器, 那么我们有了MinGW就可以在windows系统中使用GCC编译器了, 也就是说可以将C语言的源代码编译生成Windows下的可执行程序
小提示:官网提供的GCC 编译器是无法直接安装到Windows系统平台上的, 如果我们想在Windows平台使用GCC编译器,就要安装GCC的移植版, 也就是MinGW当然还有Cygwin这就不过多赘述了!
总的来说MinGW就是GCC的Windows 版本
MinGW 的特点
MinGW是开源软件,免费使用,一些开源社区持续维护, 支持最新的C语言标准
题外话并且目前很多IDE里面集成有GCC, 但实际只是也就是将MinGW封装在这些IDE里面 ,让MinGW有图形化界面,操作简单,但内核其实就是MinGW
如果你选择的是一些IDE自带的编译器来编译C语言, 可能会自动生成一大堆杂七杂八的工程文件, 搞得新手摸不着头脑,MinGW则只会生成一个可执行文件
所以对于初学C语言的朋友来说,MinGW是一个不错的选择
总体来说MinGW就是需要你动动手, 会一些gcc命令等等就可以来对C语言的源代码进行编译成window下的可执行文件
而一些IDE则是通过点点按钮就自动编译了,不需要你使用gcc的一些相关命令都可以
如何安装MinGW
MinGW的下载地址如下:
打开地址后在其中找到「Downloads」下载链接, 单击进入稍等片刻就开始下载了
下载方式


下载完成后,会得到一个名为mingw-get-setup.exe的安装包,双击打开它。
可以看到如下的对话框, 直接点击Install,即可




进入MinGW配置器下载的界面,稍等一下, 待安装完成显示100%就可以了, 安装完成之后点击continue,会自动弹出MinGW Installer Manager配置界面


进入到MinGW Installer Manager的界面, 它的作用是随时根据需要修改GCC编译器的配置
为了同时支持编译C 语言 和 C++我们这里只需要选择两个选项:
mingw32-base-bin这个是用来编译C语言的
mingw32-gcc-g++-bin这个是用来编译C++语言的
如图


在指定的选项上单击鼠标左键选择Mark for installation打上安装标记就可以了, 如果选择错误了就点选Unmark取消标记就可以了。
个人建议全部选择免得麻烦!!
选择好了之后, 在菜单栏中选择Installation ---- Apply Changes


会弹出如下对话框 ,点击Apply然后稍等片刻,直至安装成功即可!




当安装成功之后 显示如下图, 点击close按钮关闭即可!


到此MinGW安装就完成了!
并且在我的D盘的MinGW目录下会出现以下文件夹


小提示
如果有某些组件下载失败,没关系, 可以通过之前的MinGW Installer Manager安装界面进行手动选择指定的安装包进行再次安装 ,比如说安装完成之后你会发现bin目录下没有gcc这个执行程序
那么就可以通过MinGW Installer Manager来进行再次手动的选择安装 就可以了


所以MinGW Installer这个程序新手朋友们不要删除哦 , 免得到处找都找不到~


MinGW配置环境变量
科普一下 为什么要设置环境变量?
举个栗子
比如: 我们这里需要gcc.exe执行程序来编译C语言源代码, 那么这个gcc.exe程序文件在我电脑中的路径是D: MinGW bin下的
如图


那么如果我们要使用cmd命令行的形式来打开这个gcc.exe是不是要使用一些基本的dos命令来进入到这个目录下对吧
如下图


通过这样子的方式来打开gcc你不觉得很麻烦吗?但是难道我们每次要运行这个程序的时候都要先找到该.exe文件所在的路径, 然后运行,显然很蹩脚, 这时候就需要环境变量了
环境变量是在操作系统中一个具有特定名字的变量对象,它包含了一个或者多个应用程序所将使用到的信息
当要我们求操作系统来运行一个程序的时候, 但又没有告诉它程序所在的完整路径时,那么操作系统除了在当前目录下面寻找此程序外,还会自动的到环境变量中的Path路径去找用户通过设置环境变量,来更好更加方便的来运行程序!
所以我们的gcc.exe也应该配置到环境变量中去,方便我们执行编译的操作!
如何手动配置gcc.exe到环境变量中?
我们依次打开我的电脑-----属性-----高级系统设置-----环境变量
win10系统中有两种环境变量:用户变量和系统变量
可以配置到当前用户变量的Path里面, 也可以配置到系统变量的Path里面
系统变量配置以后,整个计算机操作系统的所有用户有效
用户变量配置以后,仅对于当前计算机用户有效。
而系统变量与用户变量的Path的意思都是告诉操作系统在找的可执行文件存放的路径,它的查找流程如下:
所以系统变量针对所有用户,而用户变量是当前用户私有的, 这个根据你自己的情况来选择就可以了


我这里的gcc.exe目录为D: MinGW bin, 那么新建之后的值就为它, 完成之后点击确定返回就可以了!
如图


到此环境变量的配置就完成了, 选中就可以编译我们的C语言程序代码了
你可以先打开cmd命令行窗口 输入以下命令先测试一下:
如果看到以下输出 说明正确配置了环境变量


如何卸载MinGW
卸载MinGW很简单, 找到MinGW的安装文件夹, 然后鼠标右键单击选择删除,就可以卸载了
并且把之前配置好的path环境变量的相应目录路径也删除掉!
win10下如何打开环境变量
我的电脑-----属性-------高级系统设置-----选择高级选项卡, 在最下面就可以看到环境变量


然后打开环境变量之后 点开, 再找到系统变量, 其中就有一个Path的变量, 点击编辑


然后找到之前配置的MinGW目录 删除就可以了!


输出你的第一个C语言程序
通过以上的安装和环境变量的配置之后,我们就可以在当前Windows 平台上编译和运行我们的C 或者 C++源代码程序了
举个栗子我们现在要输出一个经典的Hello, World!字符串
代码如下
1.手动命令行形式输出
打开记事本程序,复制一下以上的代码
然后另存为hello.c文件 , 我这里就暂时保存到桌面
如图


然后在桌面打开cmd在命令行中执行如下命令:
然后就会在桌面上生成一个test1.exe的可执行文件, 再次在命令行中输出这个test1名称即可输出最终结果!
如图


2.通过IDE(集成开发环境)编译输出C语言代码
概述
每次通过记事本和cmd方式单独地使用gcc编译器来输出你的C语言代码肯定不太方便对吧,那么就选择一款IDE集成开发环境来编辑你的C语言代码吧!
1.什么是IDE?
IDE英文全称为:Integrated Development Environment中文意思就是集成开发环境
集成开发环境的的核心作用就 用来编写代码的