【全网最强】最通俗易懂的C语言开发环境搭建教程,分分钟教你如何在Windows中运行第一个Hello World程序

简介: 最通俗易懂的C语言开发环境搭建教程

🚀 个人主页 极客小俊
✍🏻 作者简介:web开发者、设计师、技术分享博主
🐋 希望大家多多支持一下, 我们一起进步!😄
🏅 如果文章对你有帮助的话,欢迎评论 💬点赞👍🏻 收藏 📂加关注

首先了解一下什么是编译器?

概述

编译器,可以简单地将它理解为一种翻译器, 就类似于专门的翻译一样, 要知道,计算机只认识二进制也就是 0 和 1 组成的代码指令

而我们平常所编写和开发的的 C 、C++、java、php、Go、python等等代码计算机本身是根本无法识别的,只有将这些程序代码中的每条语句翻译成对应的二进制指令,计算机才能执行, 这就是编译器的核心作用!

什么是GCC?

1.jpg

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编译器套件

GCCLinux渊源极深, 目前几乎所有的 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编译器?

2.jpg

什么是 MinGW

概述

MinGW 全称是:Minimalist GNU on Windows 你可以暂时理解它是一个移植到了 windows系统平台下的极简GCC编译器

我们知道GCC是在Linux系统上自动就预装好了的编译器, 那么我们有了MinGW 就可以在windows系统中使用GCC编译器了, 也就是说可以将C语言源代码编译生成 Windows 下的可执行程序

小提示: 官网提供的 GCC 编译器是无法直接安装到 Windows系统平台上的, 如果我们想在 Windows 平台使用 GCC 编译器,就要安装 GCC 的移植版, 也就是 MinGW 当然还有Cygwin这就不过多赘述了!

总的来说 MinGW 就是 GCCWindows 版本

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 下载链接, 单击进入稍等片刻就开始下载了

下载方式

3.jpg

下载完成后,会得到一个名为 mingw-get-setup.exe 的安装包,双击打开它,

可以看到如下的对话框, 直接点击Install,即可

4.jpg

根据你自己的需求点击change按钮可以修改安装路径,建议不要在C盘, 这里我安装在D盘, 然后点击continue

5.jpg

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

6.jpg

进入到 MinGW Installer Manager 的界面, 它的作用是随时根据需要修改 GCC 编译器的配置

为了同时支持编译 C 语言 和 C++我们这里只需要选择两个选项:

mingw32-base-bin这个是用来编译C语言的

mingw32-gcc-g++-bin 这个是用来编译C++语言的

如图

7.gif

在指定的选项上单击鼠标左键 选择Mark for installation打上安装标记就可以了, 如果选择错误了就点选Unmark取消标记就可以了,

个人建议全部选择免得麻烦!!

选择好了之后, 在菜单栏中选择Installation ----> Apply Changes
8.jpg

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

9.gif

10.jpg

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

11.jpg

到此MinGW安装就完成了!

并且在我的D盘MinGW目录下会出现以下文件夹

12.jpg

小提示

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

那么就可以通过MinGW Installer Manager来进行再次手动的选择安装 就可以了

13.jpg

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

14.jpg

MinGW配置环境变量

科普一下 为什么要设置环境变量?

举个栗子

比如: 我们这里需要gcc.exe执行程序来编译C语言源代码, 那么这个gcc.exe程序文件在我电脑中的路径是D:\MinGW\bin下的

如图

15.jpg

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

如下图

16.jpg

通过这样子的方式来打开gcc 你不觉得很麻烦吗?但是难道我们每次要运行这个程序的时候都要先找到该.exe文件所在的路径, 然后运行,显然很蹩脚, 这时候就需要环境变量

环境变量是在操作系统中一个具有特定名字的变量对象,它包含了一个或者多个应用程序所将使用到的信息

当要我们求操作系统来运行一个程序的时候, 但又没有告诉它程序所在的完整路径时,那么操作系统除了在当前目录下面寻找此程序外,还会自动的到环境变量中的Path路径去找 用户通过设置环境变量,来更好更加方便的来运行程序!

所以我们的gcc.exe 也应该配置到 环境变量中去,方便我们执行编译的操作!

如何手动配置gcc.exe到环境变量中?

我们依次打开 我的电脑----->属性 -----> 高级系统设置-----> 环境变量

win10系统中有两种环境变量用户变量系统变量

可以配置到当前用户变量Path里面, 也可以配置到系统变量Path里面

系统变量配置以后,整个计算机操作系统的所有用户有效

用户变量配置以后,仅对于当前计算机用户有效。

系统变量用户变量Path的意思都是告诉操作系统在找的可执行文件存放的路径,它的查找流程如下:

1.当操作系统在执行一个用户命令或打开一个程序时,如果没有给出给文件的绝对路径,那么就会在当前目录下寻找相应的可执行文件
2.如果当前目录找不到对应可执行文件或程序,就会在`系统变量``Path`的路径列表中去寻找, 从上到下依次查找,最前面一条的优先级最高,如果找到程序就停止查找,后面的路径也不再执行了
3.如果`系统变量``Path`中的路径列表都找不到,那么再到`用户变量``Path`路径列表中去继续寻找

所以系统变量针对所有用户,而用户变量是当前用户私有的, 这个根据你自己的情况来选择就可以了
17.jpg

我这里就暂时配置到系统变量Path中去, 选中Path 然后点击编辑按钮, 然后点击新建按钮

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

如图

18.jpg

到此环境变量的配置就完成了, 选中就可以编译我们的C语言程序代码了

你可以先打开cmd命令行窗口 输入以下命令先测试一下:

gcc++ --version
g++   --version
gdb   --version

如果看到以下输出 说明正确配置了环境变量

19.jpg


如何卸载MinGW

卸载MinGW很简单, 找到MinGW的安装文件夹, 然后鼠标右键单击选择删除,就可以卸载了

并且把之前配置好的path环境变量的相应目录路径也删除掉!

win10下如何打开环境变量

我的电脑----->属性------->高级系统设置----->选择高级选项卡, 在最下面就可以看到环境变量

20.jpg

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

21.jpg

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

输出你的第一个C语言程序

通过以上的安装和环境变量的配置之后,我们就可以在当前 Windows 平台上编译和运行我们的 C 或者 C++源代码程序了

举个栗子我们现在要输出一个经典的Hello, World!字符串

代码如下

#include<stdio.h>
int main(void) {
   
   
    printf("Hello, world!\n");
    return 0;
}
1.手动命令行形式输出

打开记事本程序,复制一下以上的代码

然后另存为 hello.c文件 , 我这里就暂时保存到桌面

如图
23.jpg

然后在桌面打开cmd 在命令行中执行如下命令:

C:\Users\Administrator\Desktop>gcc hello.c -o test1

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

如图

24.jpg

2.通过IDE(集成开发环境)编译输出C语言代码

概述

每次通过记事本cmd方式单独地使用gcc编译器来输出你的C语言代码肯定不太方便对吧,那么就选择一款IDE集成开发环境来编辑你的C语言代码吧!

1.什么是IDE?

IDE 英文全称为: Integrated Development Environment 中文意思就是 集成开发环境

集成开发环境的的核心作用就 用来编写代码的

使用IDE的好处

  1. 代码还有相应的高亮颜色,便于开发者识别
  2. 最重要的就是有代码提示,不像你用记事本要一个字母一个字母的敲出来
  3. 具备代码调试的功能,方便提示出语法错误,逻辑错误 等功能
  4. 具备项目管理的能力,例如你项目中的文件、图片 等这些资源用一个树形结构管理器来,就跟你的window资源管理器一样,方便开发者查找
  5. 开发界面可以根据自己的需求进行皮肤上的美化

以上这些功能都被融入在了 集成开发环境当中!

这里在windows系统下我个人推荐CLionVisual Studio CodeVisual Studio , 当然最好是你通过一段时间的C语言学习之后,再来使用这些IDE工具肯定会更加得心应手! 如果你是新手其实不建议一上来就使用IDE

2.使用CLion 编译C语言

25.png

CLion 下载地址 https://www.jetbrains.com/clion/

使用CLion 来编译C语言,你总要先下载安装吧,建议若条件允许购买正版吧,你懂的 这里就不在过多赘述了!

安装好CLion 之后打开它, 然后点击New Project

26.png

然后弹出以下对话框, 选择C Executable 之后根据你自己的需求设置项目保存路径,Language standard语言标准选择C99就行了, 完成之后点击create就可以自动生成项目了

如图

27.png

然后你就会看到自动生成好的项目的目录结构和一段基本的C语言代码

28.png

在CLion中配置MinGW

如果之前你安装了MinGW 那么最好在这里也在CLion配置一下, 方法如下

点击File菜单下的Settings选项
29.png

然后选择Build、Execution、Deployment(构建、执行、部署)选项下的Toolchains(工具链)选项

30.png

它会自动检测到MinGW的安装路径, 确保这里没有任何问题之后点击ok

31.png

最后我们就可以点击右上角绿色的的Run按钮 开始编译我们的C语言代码了

32.png

CLion控制台输出中文乱码

如果你想用printf输出中文,但是出现以下乱码的情况

如下图

33.png

解决办法:

既然是乱码 那么肯定是编码不正确导致的,所以修改一下CLion中的编码设置就可以了

首先最好保证我们整个项目的文件编码统一

点击File菜单下的Settings选项, 然后选择Editor下的File Encodings(文件编码)

把所有位置都设置为UTF-8编码 ,这是为了你在代码区编辑中文的时候 编码统一

如下图

34.png

然后点击右下角的UTF-8位置,会弹出当前输出窗口内容编码, 这里修改为GBK编码

35.png

然后会弹出一个对话框选择Convert转换按钮就可以了

36.png

最后就可以正常输出中文字符串了!

37.png

修改控制台活动页字符集

当然如果懂一点的朋友 可以通过修改控制台代码页字符集utf-8这样来解决CLion汉字中文乱码问题

只要在源代码中加入一行代码就可以了

代码如下

#include <stdio.h>
int main() {
   
   
    system("chcp 65001");    //修改控制台活动页字符集为utf-8
    printf("北京市, 朝阳区!\n");
    return 0;
}

如图

38.png

这样不用在底部修改当前输出窗口内容编码也是可以达到不会乱码的效果!


3.使用Visual Studio Code 编译C语言

39.png

Visual Studio Code我主要是用来写前端,对于javaC这样要编译的语言来说用它来写就要做一定的配置和环境的搭建,因为默认情况下VS code不能直接对于C语言进行编译和调试的 所以虽然不是很方便,但是它免费啊!:smile:

要使用VS code来编辑和运行我们的C语言代码,前提是要下载好VS code和提前安装好集成gccMinGW

Vs code下载地址: https://code.visualstudio.com/

下载和安装这里就不过多赘述了,很简单 !

打开VS code 直接在插件市场中搜索以下插件:

C/C++

40.png

Code Runner

57.png

C/C++ GNU Global

42.png

C/C++ Compile Run

43.png

点击这些插件上的Install按钮, 先把这些插件都安装上!

安装完以上插件之后,随便在那个磁盘下建立一个test_c的空目录

然后选择File---->Open Folder 选择你刚才创建的空文件夹目录

如图

44.png

也可以选择Add Folder to workspace..来添加工作目录

45.png

然后在左侧就可以显示出刚才所选择的文件夹目录了,这也就是你的项目文件

接下来就新建一个.c的代码文件

如下图

46.png

我们在test_c文件夹下新建一个名为hello.c的文件,然后复制以下代码

#include <stdio.h>
int main() {
   
   
    printf("hello world!\n");
    return 0;
}

最后点击右上角运行按钮就可以执行C语言代码程序了!

效果如下图

47.png


4.使用Visual Studio 2019 编译C语言

48.jpg

概述

Visual Studio我们简称VS 是美国微软公司的集成开发环境, 可不是VS code哦这两个不一样的!, 它可以支持C、C++、C#、F#、J# SQL Python等语言的开发 还是很强大的一款IDE

Visual Studio下载地址https://visualstudio.microsoft.com/zh-hans/downloads/

49.png

个人的话建议下载社区版免费的,学习和普通开发完全足够了, 安装非常简单 就不过多赘述了!

安装的时候唯一只有一个地方要注意的就是: 使用C++桌面开发这一项要勾选上,否则可能会导致你的C或C++代码无法正常运行!

如图

50.png

VS 新建项目

安装好了之后打开VS

51.png

然后在弹出的对话框中选择c++空项目

52.png

接下来就填写项目配置

项目名称之后生成的项目文件夹名称工程名称都是这个, 这个目录会自动生成!

项目位置也就是选择你项目保存的目录位置

勾选解决方案和项目放在同一目录中,以后便于调试。

单击创建, 此时应该在桌面会生成一个test_c的文件夹目录

53.png

然后就也进入到VS编辑界面了 , 接下来添加C语言代码源文件

在左侧的解决方案下方的test_c项目文件夹中,选中源文件 右键单击然后选择添加---->新建项

如图

54.png

小提示: 如果你在左侧没有看到解决方案资源管理器的话 那么可以按下键盘上的快捷键ctrl+Alt+L来进行打开

然后选择C++文件(.cpp), 把文件名称的后缀需要修改为.c 这里我新建名为hello.c的源文件

如下图

55.png

然后还是输入以下代码

#include <stdio.h>
int main()
{
   
   
    printf("Hello World");
    return 0;
}

接下来按下快捷键Ctrl+F5直接编译运行, 结果如下图所示

56.png

end

到此你已经开启C语言的学习之路了!:smile:

相关文章
|
2月前
|
存储 算法 C语言
"揭秘C语言中的王者之树——红黑树:一场数据结构与算法的华丽舞蹈,让你的程序效率飙升,直击性能巅峰!"
【8月更文挑战第20天】红黑树是自平衡二叉查找树,通过旋转和重着色保持平衡,确保高效执行插入、删除和查找操作,时间复杂度为O(log n)。本文介绍红黑树的基本属性、存储结构及其C语言实现。红黑树遵循五项基本规则以保持平衡状态。在C语言中,节点包含数据、颜色、父节点和子节点指针。文章提供了一个示例代码框架,用于创建节点、插入节点并执行必要的修复操作以维护红黑树的特性。
71 1
|
2月前
|
NoSQL 编译器 程序员
【C语言】揭秘GCC:从平凡到卓越的编译艺术,一场代码与效率的激情碰撞,探索那些不为人知的秘密武器,让你的程序瞬间提速百倍!
【8月更文挑战第20天】GCC,GNU Compiler Collection,是GNU项目中的开源编译器集合,支持C、C++等多种语言。作为C语言程序员的重要工具,GCC具备跨平台性、高度可配置性及丰富的优化选项等特点。通过简单示例,如编译“Hello, GCC!”程序 (`gcc -o hello hello.c`),展示了GCC的基础用法及不同优化级别(`-O0`, `-O1`, `-O3`)对性能的影响。GCC还支持生成调试信息(`-g`),便于使用GDB等工具进行调试。尽管有如Microsoft Visual C++、Clang等竞品,GCC仍因其灵活性和强大的功能被广泛采用。
103 1
|
2月前
|
编译器 C语言 计算机视觉
C语言实现的图像处理程序
C语言实现的图像处理程序
87 0
|
21小时前
|
C语言 开发者
C语言实现猜数字小游戏(详细教程)
C语言实现猜数字小游戏(详细教程)
|
21小时前
|
编译器 C语言 C++
VSCode安装配置C语言(保姆级教程)
VSCode安装配置C语言(保姆级教程)
|
1天前
|
Java Windows
如何在windows上运行jar包/JAR文件 如何在cmd上运行 jar包 保姆级教程 超详细
本文提供了一个详细的教程,解释了如何在Windows操作系统的命令提示符(cmd)中运行JAR文件。
8 1
|
2天前
|
存储 自然语言处理 编译器
【C语言】编译与链接:深入理解程序构建过程
【C语言】编译与链接:深入理解程序构建过程
|
12天前
|
Windows Python
python获取windows机子上运行的程序名称
python获取windows机子上运行的程序名称
|
1月前
|
存储 编译器 程序员
C语言程序的基本结构
C语言程序的基本结构包括:1)预处理指令,如 `#include` 和 `#define`;2)主函数 `main()`,程序从这里开始执行;3)函数声明与定义,执行特定任务的代码块;4)变量声明与初始化,用于存储数据;5)语句和表达式,构成程序基本执行单位;6)注释,解释代码功能。示例代码展示了这些组成部分的应用。
46 10
|
1月前
|
存储 安全 开发工具
windows开发环境备份,再也不怕重装系统了
【9月更文挑战第2天】在Windows系统中备份开发环境可大幅提升重装系统后的效率。本文详细介绍五个关键步骤:备份开发工具及软件包;保存配置文件;备份数据库与数据文件;确保代码仓库的安全;记录安装步骤与注意事项。遵循这些建议,重装系统时可迅速恢复开发环境,避免重复劳动。