🚀 个人主页 极客小俊
✍🏻 作者简介:web开发者、设计师、技术分享博主
🐋 希望大家多多支持一下, 我们一起进步!😄
🏅 如果文章对你有帮助的话,欢迎评论 💬点赞👍🏻 收藏 📂加关注
首先了解一下什么是编译器?
概述
编译器,可以简单地将它理解为一种翻译器, 就类似于专门的翻译一样, 要知道,计算机只认识二进制
也就是 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 编译器
,例如:Visual Studio 2019
, 集成了GCC
编译器功能的同时,还向用户提供了友好的可视化编辑界面, 不用你去记忆那么多的gcc命令
照样可以肆无忌惮的编译你的C语言程序代码, 相对而言降低了学习成本, 但个人建议GCC
的基本命令还是要学一下
但不是所有的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的下载地址如下:
https://osdn.net/projects/mingw/
https://sourceforge.net/projects/mingw-w64/files/
打开地址后在其中找到 Downloads 下载链接, 单击进入稍等片刻就开始下载了
下载方式
下载完成后,会得到一个名为 mingw-get-setup.exe
的安装包,双击打开它,
可以看到如下的对话框, 直接点击Install
,即可
根据你自己的需求点击change
按钮可以修改安装路径,建议不要在C盘
, 这里我安装在D盘
, 然后点击continue
进入 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
的意思都是告诉操作系统
在找的可执行文件存放的路径,它的查找流程如下:
1.当操作系统在执行一个用户命令或打开一个程序时,如果没有给出给文件的绝对路径,那么就会在当前目录下寻找相应的可执行文件
2.如果当前目录找不到对应可执行文件或程序,就会在`系统变量`的`Path`的路径列表中去寻找, 从上到下依次查找,最前面一条的优先级最高,如果找到程序就停止查找,后面的路径也不再执行了
3.如果`系统变量`的`Path`中的路径列表都找不到,那么再到`用户变量`的`Path`路径列表中去继续寻找
所以系统变量
针对所有用户,而用户变量
是当前用户私有的, 这个根据你自己的情况来选择就可以了
我这里就暂时配置到系统变量
的Path
中去, 选中Path
然后点击编辑
按钮, 然后点击新建
按钮
我这里的gcc.exe
目录为D:\MinGW\bin
, 那么新建之后的值就为它, 完成之后点击确定返回就可以了!
如图
到此环境变量
的配置就完成了, 选中就可以编译我们的C语言
程序代码了
你可以先打开cmd
命令行窗口 输入以下命令先测试一下:
gcc++ --version
g++ --version
gdb --version
如果看到以下输出 说明正确配置了环境变量
如何卸载MinGW
卸载MinGW很简单, 找到MinGW的安装文件夹, 然后鼠标右键单击选择删除
,就可以卸载了
并且把之前配置好的path环境变量
的相应目录路径也删除掉!
win10下如何打开环境变量
我的电脑
----->属性
------->高级系统设置
----->选择高级
选项卡, 在最下面就可以看到环境变量
然后打开环境变量
之后 点开, 再找到系统变量
, 其中就有一个Path
的变量, 点击编辑
然后找到之前配置的MinGW目录 删除就可以了!
输出你的第一个C语言程序
通过以上的安装和环境变量
的配置之后,我们就可以在当前 Windows 平台
上编译和运行我们的 C 或者 C++
源代码程序了
举个栗子
我们现在要输出一个经典的Hello, World!
字符串
代码如下
#include<stdio.h>
int main(void) {
printf("Hello, world!\n");
return 0;
}
1.手动命令行形式输出
打开记事本
程序,复制一下以上的代码
然后另存为 hello.c
文件 , 我这里就暂时保存到桌面
如图
然后在桌面打开cmd
在命令行中执行如下命令:
C:\Users\Administrator\Desktop>gcc hello.c -o test1
然后就会在桌面上生成一个test1.exe
的可执行文件, 再次在命令行中输出这个test1
名称即可输出最终结果!
如图
2.通过IDE(集成开发环境)编译输出C语言代码
概述
每次通过记事本
和cmd
方式单独地使用gcc编译器
来输出你的C语言
代码肯定不太方便对吧,那么就选择一款IDE集成开发环境
来编辑你的C语言
代码吧!
1.什么是IDE?
IDE 英文全称为: Integrated Development Environment 中文意思就是 集成开发环境
集成开发环境
的的核心作用就 用来编写代码的
使用IDE的好处
- 代码还有相应的高亮颜色,便于开发者识别
- 最重要的就是有代码提示,不像你用记事本要一个字母一个字母的敲出来
- 具备代码调试的功能,方便提示出语法错误,逻辑错误 等功能
- 具备项目管理的能力,例如你项目中的文件、图片 等这些资源用一个树形结构管理器来,就跟你的window资源管理器一样,方便开发者查找
- 开发界面可以根据自己的需求进行皮肤上的美化
以上这些功能都被融入在了 集成开发环境
当中!
这里在windows系统
下我个人推荐CLion、Visual Studio Code、Visual Studio , 当然最好是你通过一段时间的C语言学习之后,再来使用这些IDE
工具肯定会更加得心应手! 如果你是新手其实不建议一上来就使用IDE
2.使用CLion 编译C语言
CLion 下载地址 https://www.jetbrains.com/clion/
使用CLion
来编译C语言,你总要先下载安装吧,建议
若条件允许购买正版吧,你懂的 这里就不在过多赘述了!
安装好CLion
之后打开它, 然后点击New Project
然后弹出以下对话框, 选择C Executable
之后根据你自己的需求设置项目保存路径,Language standard语言标准
选择C99
就行了, 完成之后点击create
就可以自动生成项目了
如图
然后你就会看到自动生成好的项目的目录结构
和一段基本的C语言
代码
在CLion中配置MinGW
如果之前你安装了MinGW 那么最好在这里也在CLion配置一下, 方法如下
点击File
菜单下的Settings
选项
然后选择Build、Execution、Deployment(构建、执行、部署)
选项下的Toolchains(工具链)
选项
它会自动检测到MinGW
的安装路径, 确保这里没有任何问题之后点击ok
最后我们就可以点击右上角绿色
的的Run按钮
开始编译我们的C语言
代码了
CLion控制台输出中文乱码
如果你想用printf
输出中文,但是出现以下乱码的情况
如下图
解决办法:
既然是乱码 那么肯定是编码不正确导致的,所以修改一下CLion
中的编码设置就可以了
首先最好保证我们整个项目的文件编码统一
点击File
菜单下的Settings
选项, 然后选择Editor
下的File Encodings(文件编码)
把所有位置都设置为UTF-8编码
,这是为了你在代码区编辑中文的时候 编码统一
如下图
然后点击右下角的UTF-8位置
,会弹出当前输出窗口
的内容编码
, 这里修改为GBK编码
然后会弹出一个对话框选择Convert
转换按钮就可以了
最后就可以正常输出中文字符串了!
修改控制台活动页字符集
当然如果懂一点的朋友 可以通过修改控制台代码页字符集
为utf-8
这样来解决CLion
汉字中文乱码问题
只要在源代码
中加入一行代码就可以了
代码如下
#include <stdio.h>
int main() {
system("chcp 65001"); //修改控制台活动页字符集为utf-8
printf("北京市, 朝阳区!\n");
return 0;
}
如图
这样不用在底部修改当前输出窗口
的内容编码
也是可以达到不会乱码的效果!
3.使用Visual Studio Code 编译C语言
Visual Studio Code
我主要是用来写前端
,对于java
和C
这样要编译
的语言来说用它来写就要做一定的配置和环境的搭建,因为默认情况下VS code
不能直接对于C语言
进行编译和调试的 所以虽然不是很方便,但是它免费啊!:smile:
要使用VS code
来编辑和运行我们的C语言
代码,前提是要下载好VS code
和提前安装好集成gcc
的MinGW
Vs code下载地址: https://code.visualstudio.com/
下载和安装这里就不过多赘述了,很简单 !
打开VS code
直接在插件市场中搜索以下插件:
C/C++
Code Runner
C/C++ GNU Global
C/C++ Compile Run
点击这些插件上的Install
按钮, 先把这些插件都安装上!
安装完以上插件之后,随便在那个磁盘下建立一个test_c
的空目录
然后选择File---->Open Folder
选择你刚才创建的空文件夹目录
如图
也可以选择Add Folder to workspace..
来添加工作目录
然后在左侧就可以显示出刚才所选择的文件夹目录了,这也就是你的项目文件
接下来就新建一个.c的代码文件
如下图
我们在test_c
文件夹下新建一个名为hello.c
的文件,然后复制以下代码
#include <stdio.h>
int main() {
printf("hello world!\n");
return 0;
}
最后点击右上角
的运行按钮
就可以执行C语言
代码程序了!
效果如下图
4.使用Visual Studio 2019 编译C语言
概述
Visual Studio
我们简称VS
是美国微软公司的集成开发环境, 可不是VS code
哦这两个不一样的!, 它可以支持C、C++、C#、F#、J# SQL Python
等语言的开发 还是很强大的一款IDE
Visual Studio下载地址https://visualstudio.microsoft.com/zh-hans/downloads/
个人的话建议下载社区版
免费的,学习和普通开发完全足够了, 安装非常简单 就不过多赘述了!
安装的时候唯一只有一个地方要注意的就是: 使用C++桌面开发
这一项要勾选上,否则可能会导致你的C或C++
代码无法正常运行!
如图
VS 新建项目
安装好了之后打开VS
然后在弹出的对话框中选择c++空项目
接下来就填写项目配置
了
项目名称
之后生成的项目文件夹名称
和工程名称
都是这个, 这个目录会自动生成!
项目位置
也就是选择你项目保存的目录位置
勾选解决方案和项目放在同一目录中,以后便于调试。
单击创建, 此时应该在桌面会生成一个test_c
的文件夹目录
然后就也进入到VS
的编辑
界面了 , 接下来添加C语言代码源文件
在左侧的解决方案
下方的test_c
项目文件夹中,选中源文件
右键单击
然后选择添加---->新建项
如图
小提示:
如果你在左侧没有看到解决方案资源管理器
的话 那么可以按下键盘上的快捷键ctrl+Alt+L
来进行打开
然后选择C++文件(.cpp)
, 把文件名称的后缀需要修改为.c
这里我新建名为hello.c
的源文件
如下图
然后还是输入以下代码
#include <stdio.h>
int main()
{
printf("Hello World");
return 0;
}
接下来按下快捷键Ctrl+F5
直接编译运行, 结果如下图所示
end
到此你已经开启C语言
的学习之路了!:smile: