一、什么是 MinGW-w64?

MinGW 的全称是:Minimalist GNU on Windows。它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。而且还可以使用一些 Windows 不具备的,Linux平台下的开发工具。一句话来概括:MinGW 就是 GCC 的 Windows 版本 。
以上是 MinGW 的介绍,MinGW-w64 与 MinGW 的区别在于 MinGW 只能编译生成32位可执行程序,而 MinGW-w64 则可以编译生成 64位 或 32位 可执行程序。
正因为如此,MinGW 现已被 MinGW-w64 所取代,且 MinGW 也早已停止了更新,内置的 GCC 停滞在了 4.8.1 版本,而 MinGW-w64 内置的 GCC 则更新到了 8.1.0 版本。

二、为什么使用 MinGW-w64?

  1. MinGW-w64 是开源软件,可以免费使用。
  2. MinGW-w64 由一个活跃的开源社区在持续维护,因此不会过时。
  3. MinGW-w64 支持最新的 C语言 标准。
  4. MinGW-w64 使用 Windows 的C语言运行库,因此编译出的程序不需要第三方 DLL ,可以直接在 Windows 下运行。
  5. 那些著名的开源 IDE 实际只是将 MinGW-w64 封装了起来,使它拥有友好的图形化界面,简化了操作,但内部核心仍然是 MinGW-w64。
    MinGW-w64 是稳定可靠的、持续更新的 C/C++ 编译器,使用它可以免去很多麻烦,不用担心跟不上时代,也不用担心编译器本身有bug,可以放心的去编写程序。

三、MinGW-w64 适合做什么?

对于熟悉 MinGW-w64 的高手而言,它可以编译任何 C语言 程序。但对于一般人来说,MinGW-w64 太过简陋,连图形用户界面都没有。这让习惯使用鼠标的人,感到很痛苦。虽然也可以通过一些配置,让 MinGW-w64 拥有图形用户界面,但那个过程非常麻烦。
除此之外,编译复杂的程序时,还需要你会编写 Makefile ,否则只能一个文件一个文件的编译,可想而知会多么辛苦。
但对于初学 C语言 的人来说,MinGW-w64 是正合适的编译器,至少黑色的命令提示符界面很有编程的气氛,感觉很酷。
在刚开始学 C语言 时,所有代码通常都写在一个文件中,只要输入几个简单的命令,就能用 MinGW-w64 编译成可执行文件。虽然 VS2015 等编译器,只要点击下鼠标就可以完成编译,但它会自动生成一大堆工程文件,让初学者摸不着头脑。而 MinGW-w64 则只会生成一个可执行文件。
如果对 MinGW-w64 和 VS2015 等编译器进行一下形容,那么 MinGW-w64 是手动的,而 VS2015 等编译器则是自动的。因此 MinGW-w64 的编译过程更加直观容易理解,也比较适合C语言学习。
总而言之,对于一般人来说,MinGW-w64 适合学习 C语言 时使用,真正工作还是用 VS2015 更好。当然如果您是在 Linux 下工作,那么Code::Blocks可能是一个选择,不过最大的可能是您必须习惯使用 GCC 来编译程序。

四、下载和安装 MinGW-w64

1.MinGW-w64官方网站首页(http://mingw-w64.org/)

2.MinGW-w64下载详情页面


说明:这是 MinGW-w64 的下载详情页面。首先看到一个标题为 Pre-built toolchains and packages 的列表,这里面是包含 MinGW-w64 及特定工具的整合包。我们这个教程只安装 MinGW-w64 ,所以只需下载 MinGW-w64 即可。
操作:点击红框中的“SourceForge”超链接,就会进入 SourceForge 中的 MinGW-w64 下载页面。

3.SourceForge 中的 MinGW-w64 下载页面


说明:MinGW-w64 的代码和可执行文件被托管存储在 SourceForge 上,在这个页面上就可以直接下载 MinGW-w64 了。MinGW-w64 是非常复杂的,编译器大多都是如此,为了适应各种操作系统,它们的组件会存在各种不同的版本,以适应不同的环境。所以,我们直接下载 MinGW-w64 的安装程序,它会按照我们的需要,自动下载适合的组件,并将它们组织在一起。
操作:点击红框中的“Download mingw-w64-install.exe”超链接,将会下载这个 MinGW-w64 自动安装的程序。

4.等待 MinGW-w64 安装程序开始下载

说明:5秒钟之后,浏览器会自动下载 mingw-w64-install.exe 。
操作:只需等待。
注意:如果浏览器没有自动下载,则可以点击黄框中的“direct link”超链接,手动下载。如果下载速度非常慢,可以点击绿框中的“mirror”超链接,选择一个离自己近的镜像网站,可能会获得较高(无法保证)的下载速度。

5.MinGW-w64 安装程序欢迎界面

6.MinGW-w64 版本选择


Version 指的是 gcc 的版本,如果没有特殊的需求,一般选择最高的版本号即可。
Architecture 是指电脑系统是 32位 还是 64位,根据你的电脑系统做出对应选择。
Threads 这个世界上只有两种操作系统,符合 posix 协议的,和 Windows 。如这个笑话所说的,如果你想要开发 Windows 程序,需要选择 win32 ,而开发 Linux、Unix、Mac OS 等其他操作系统下的程序,则需要选择 posix 。
Exception 异常处理在开发中非常重要,你在开发的过程中,大部分的时间会耗在处理各种异常情况上。如果你之前选择了 64位,则这里有两个异常处理模型供你选择,seh 是新发明的,而 sjlj 则是古老的。seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位。

7.安装完成配置环境变量

8.验证安装成功

参考:
MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本
https://zhuanlan.zhihu.com/p/76613134

MinGW-w64安装教程相关推荐

  1. (Windows系统)MATLAB2021a安装MinGW -w64

    %%MATLAB2021a安装MinGW -w64%%%%%%%%%%%%% %%创建时间2021年6月24日%%%%%%%%%%%%%%%%%%% %%创建者回全奇%%%%%%%%%%%%%%%%% ...

  2. minGW 2022/7/27 安装教程 简单可用

    minGW 2022/7/27 安装教程 简单可用 链接: linkhttp://c.biancheng.net/view/8114.html

  3. MinGW安装教程——著名C/C++编译器GCC的Windows版本

    前言 本文主要讲述如何安装 C语言 编译器--MinGW,特点是文章附有完整详细的实际安装过程截图,文字反而起说明提示作用. 编写本文的原因始于我的一个观点:图片可以比文字传达更多的信息,也能让其他人 ...

  4. MinGW下载和安装教程

    要知道,GCC 官网提供的 GCC 编译器是无法直接安装到 Windows 平台上的,如果我们想在 Windows 平台使用 GCC 编译器,可以安装 GCC 的移植版本. 目前适用于 Windows ...

  5. QT5.10.0安装教程图文教程以及安装成功QT5.10.0后环境配置图文步骤

    引用:https://www.cnblogs.com/chenmingjun/p/8392713.html QT5.10.0安装教程图文教程以及安装成功QT5.10.0后环境配置图文教程 文章目录 Q ...

  6. QT 5 1 0 MinGW 的安装及使用

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! QT 5 ...

  7. NTL库在Win上基于MinGW的安装

    NTL库是C++数论库. https://libntl.org/ 一.安装MinGW 下载MinGW安装器MinGW-get-setup 根据需求选择安装的包(一定要装msys和gmp) 二.安装NT ...

  8. VS-Code安装C++安装教程

    VS-Code安装C++安装教程 文章目录 VS-Code安装C++安装教程 1.下载安装vscode 2.安装编译,调试环境 3.打开VScode 4.编辑c_cpp_properties 5.编辑 ...

  9. Codeblocks-20.03下载及安装教程(面向小白的保姆级教程)

    下载:http://www.codeblocks.org/ Dowloads Download the binary release 根据自身电脑系统版本选择: 选择自带MinGW的版本:(这里是目前 ...

最新文章

  1. note for git
  2. 《构建之法》读书笔记
  3. 扩展Visual Studio 2010服务器资源管理器中的SharePoint结点
  4. linux7启动某个服务器,如何在单用户模式下启动RHEL 7 CentOS 7服务器
  5. 国家开放大学计算机基础实训项目一,国家开放大学电大专科《微机系统与维护》网络课实训11及实训12作业及答案...
  6. 【Visual C++】游戏开发笔记十九 DirectX与OpenGL的博弈
  7. c语言如何随机选择入口,c语言随机排列-----适用于初学者
  8. ListCtrl常用操作
  9. carbon 一天的开始 结束_来自一线:银行柜员的一天
  10. saprk randomSplit方法
  11. 移动网速测试软件,网速测试大师APP
  12. Java设计模式之创建型:工厂模式详解(简单工厂+工厂方法+抽象工厂)
  13. channel使用法则
  14. 360校招编程题:内存管理
  15. 增值税/所得税 概念与区别
  16. K 近邻算法识别手写数字(Numpy写法)
  17. UML常用的基本图形简介
  18. MySQL inet aton函数,MySQL IP转数字函数 INET_ATON() INET_NTOA()
  19. PAC(probably approximately correct) 学习架构介绍
  20. 层压结构及参数(PCB板层厚度)收集

热门文章

  1. 基于mjpg-streamer实现树莓派推流至上位机(自用)
  2. 3559A sample hifb解析
  3. 数据库中超码、候选码、主码的理解
  4. 局域网大附件上传,支持断点续传
  5. STM32 串口的使用
  6. 使用FreeType实现矢量字体的粗体、斜体、描边、阴影效果
  7. Nginx支持TCP端口转发
  8. php xmp,在jpeg中编写XMP元数据(使用PHP) – 使用单个或多个rdf:描述块
  9. Nette框架未授权任意代码执行漏洞分析
  10. 信息技术未来发展方向