windows系统c语言编译器安装
1、安装包下载及说明 MinGW 的全称是:Minimalist GNU on Windows ,实际上是将gcc(c/c++编译器)移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。而且还可以使用一些 Windows 不具备的,Linux平台下的开发工具。
选择它的原因:
- MinGW-w64 是开源软件,可以免费使用。
- MinGW-w64 由一个活跃的开源社区在持续维护,不会过时。
- MinGW-w64 支持最新的 C语言 标准。
1.1 下载
进入MinGW官网:官网地址 。
文章图片
点击Downloads。
文章图片
点击MingW-W64-builds。
文章图片
页面跳转到下方的下载地址。
文章图片
点击Sourceforge。
文章图片
这个时候弹出下载的包是在线安装包,我们不选这个,取消下载。
文章图片
点击Files。
文章图片
页面向下拉。
文章图片
页面说明:
- version选项:指的是你选择的GCC编译器的版本。
- Architecture选项:指的是你的电脑的系统类型,i686表示的是32位的系统类型,x86_64表示的是64位的系统类型。我本人的电脑是64位的系统类型,所以选中x86_64。
- Threads选项:指的是线程模型,posix/win32。
1)POSIX(Portable Operating System Interface,可移植操作系统接口),它是UNIX系统的一个API设计标准,很多类UNIX系统也在支持兼容这个标准,如Linux操作系统。
2)Win32,它是Windows系统下一个API设计标准,如果你是开发Windows平台下的应用程序,就需要选择Win32。
3)例如:在Windows下开发Linux应用程序,所以选择的是:posix。
- Exception选项:指的是异常处理模型。i686系统架构有2种选择:dwarf 和 sjlj。x86_64系统架构也有2种选择:seh 和 sjlj。由于我选择的是64位的系统架构,所以可供选择的异常处理模式是:seh 和 sjlj。下面说明sjlj, seh, dwarf三者的区别:
1)在C++中有 try…throw…catch,当它执行这种结构时,它需要保存现场还原现场,而 sjlj, seh, dwarf 正是实现这类过程的三种方式。
2)sjlj 全称是 SetJump / LongJump,前者设还原点,后者跳到还原点。可用于32位或者64位系统。
3)seh (Structured Exception Handling,结构化异常处理) 是 Borland 公司的,微软买了其专利使用权,它利用了FS段寄存器,将还原点压入栈,收到异常时再弹出。相较而言,sjlj 是 C 标准库就有的东西,seh 在 2014 年前是有专利的,从性能上说 seh 比 sjlj 快。只用于64位系统。
4)dwarf 只支持32位系统 – 没有永久的运行时间开销 – 需要整个调用堆栈被启用,这意味着exception不能被抛出,例如Windows系统DLL。
- 计算机架构【x86_64 64位】。
1)seh 是新发明的,而 sjlj 则是古老的。只用于64位系统。
2)seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位和64位。
3)因此,x86_64系统架构的推荐使用 seh 的异常处理模型。
- 计算机架构【i686 32位】。
1)dwarf 只支持32位,而sjlj 支持32位/64位,但是dwarf 的性能要优于 sjlj。
2)i686系统架构的推荐使用 dwarf 的异常处理模型。
文章图片
2、安装 将安装包解压到制定目录下:
文章图片
配置环境变量,将bin目录配置到path中。
文章图片
上面是win7的配置方法,win10的只是界面不一样,方法都是一样的。
验证安装是否成功,在cmd中输入命令gcc -v。
【C语言|windows系统c语言编译器安装】
文章图片
能看到如上图的信息,就代表安装成功了。
推荐阅读
- 工具类|初始化配置文件工具类
- 面试|0 基础 Java 自学之路(2021年最新版)
- 嵌入式|嵌入式开发(管理 RTOS 内存性能和使用的7个技巧)
- NoSQL|Redis中执行Lua脚本
- 面试|为什么我们从 Python 切换到 Go
- 零基础学好JAVASE|零基础带你学好JavaSE-抽象类和接口
- SQL|这道 Mysql 的解题思想,值得学习!
- C语言|基于单链表的图书管理系统(C语言)
- 数据结构|图书管理系统 C语言链表实现 学校大作业功能齐全(书籍信息以及用户信息保存在附带的txt文件中)