什么是 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 ?
MinGW-w64 是开源软件,可以免费使用。
MinGW-w64 由一个活跃的开源社区在持续维护,因此不会过时。
MinGW-w64 支持最新的 C语言 标准。
MinGW-w64 使用 Windows 的C语言运行库,因此编译出的程序不需要第三方 DLL ,可以直接在 Windows 下运行。
那些著名的开源 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.SourceForge(https://sourceforge.net/)
如下图搜索mingw即可

下载后是一个只有900多kb的exe文件。点击安装后弹出如下界面:

Version选择当前支持的最高版本。

Architecture:由于我的是win10 64位,因此选择了x86_64。如果是32位电脑,需要选择i686。

Threads:这个世界上只有两种操作系统,符合 posix 协议的,和 Windows 。如这个笑话所说的,如果你想要开发 Windows 程序,需要选择 win32 ,而开发 Linux、Unix、Mac OS 等其他操作系统下的程序,则需要选择 posix 。我只开发在 Windows 下运行的程序,所以选择了 win32 。

Exception:异常处理在开发中非常重要,你在开发的过程中,大部分的时间会耗在处理各种异常情况上。如果你之前选择了 64位,则这里有两个异常处理模型供你选择,seh 是新发明的,而 sjlj 则是古老的。seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位。 我这里选择了 seh 。
如果之前架构选择的是i686,则选项是 dwarf 和 sjlj 两种异常处理模型。同样的,dwarf 的性能要优于 sjlj ,他们都不支持 64位 。

Build revision:使用默认值。

点击next安装,会在线下载安装。安装完毕后,需要配置系统环境变量。

MinGW-w64的可执行程序安装目录形如:C:\Program Files\mingw-w64\x86_64-8.1.0-win32-seh-rt_v6-rev0\mingw64\bin

说明:bin 文件夹下包含了很多后缀名是 .exe 的可执行程序,这些就是开发时所需的工具,如:gcc.exe 是用来编译 C程序的,g++.exe 是用来编译 C++ 程序的,而 gdb.exe 则是用来调试程序的 debug 工具。

复制该路径加入到系统环境变量中的Path中
配置完毕,打开cmd命令行窗口,输入gcc -v
当弹出如下信息,即说明配置完成:

参考文档
MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本
MinGW的gdb调试
————————————————
版权声明:本文为CSDN博主「iningwei」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/iningwei/article/details/101649090

win安装MinGW-w64相关推荐

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

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

  2. win下载MinGW并安装详细记载

    win下载MinGW并安装记录 2020/7/23 1.官网下载 2.安装mingW 点击continue后悔进入下载界面 然后,然后我就提示下载失败-嘤嘤嘤 只能等整好了接着记- 哎嘿,重新试了下, ...

  3. 安装MinGW win安装gcc

    安装MinGW win安装gcc 1. 安装winGW: 2. 测试gcc安装结果: 3.MinGW-w64下安装报错the file has been downloaded incorrectly ...

  4. 安装MinGW和MSYS

    今天和一位朋友聊天,了解到他现在win平台用eclipse来学习编程,于是我也打算安装一个试 试.google了之后发现在win平台上用eclipse开发c/c++程序需要c/c++编译器,而一般大家 ...

  5. 两种安装MinGW的方法

    MinGW 的全称是:Minimalist GNU on Windows .它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将 ...

  6. 【C 语言】Windows 下使用 gcc 编译器 ( 常用的编译器 | Qt 中的 gcc 编译器 | 独立安装 MinGW )

    文章目录 一.常用的编译器 二.使用 Qt 中的 gcc 编译器 三.独立安装 MinGW 一.常用的编译器 常用编译器 : MSVC GCC MinGW CLANG ; MSVC : 微软 Micr ...

  7. 给Eclipse安装MinGW

    @2019-06-30 [小记] 安装完Eclipse后Toolchains只有Cross GCC,下载安装MinGW后添加系统环境变量即可 转载于:https://www.cnblogs.com/s ...

  8. 用MSYS2安装mingw

    文章目录 前言 卸载mingw 安装MSYS2 前言 安装MSYS2的原因是,在windows安装protobuf时,想用mingw编译protobuf的库,而protobuf的官方手册只给出一句: ...

  9. 安装mingw+Theano+keras(多警告、错误解决办法)

    安装mingw+Theano+keras 一.关于深度学习框架TensorFlow.Theano 和 Keras 二.可以安装theano.keras的python版本 三.安装mingw+Thean ...

  10. windows安装mingw编译c程序

    这篇文章主要介绍在windows下安装mingw,编译c代码的详细步骤 mingw是在windows下面的gcc,有了mingw,以前在linux下面编写的c代码也能在window下面编译运行啦. 1 ...

最新文章

  1. 电商退货处理流程_多个退货单
  2. 用java画一个网格_用SolidWorks画一个空心挂钩,这种画法稍微有点麻烦
  3. python3与Beautiful Soup库
  4. json文件转为excel_2分钟上手、3小时学会无代码软件开发---XML、Json处理
  5. 计算机三维实体建模与应用教学要求,三维建模教学大纲.doc
  6. 如何提高Unity Gear VR游戏性能
  7. Mysql查询为空赋值为0
  8. Qt与Visual Assitst X的集成问题
  9. NPOI 设置合并后的单元格的边框的解决方法
  10. 把.Net开发环境迁移到Linux上去
  11. itextpdf table使用
  12. NOIp2014 提高组 Day1 T1 生活大爆炸版石头剪刀布
  13. 《Gpu Gems》《Gpu Pro》《Gpu Zen》系列读书笔记
  14. 世界银行为孟加拉国建设数据中心提供贷款
  15. 百度热力图颜色说明_揭秘!看完徐州城市人口热力图,你就知道该在哪儿买房了...
  16. 移动联通设置呼叫转移
  17. python知识图谱实战_知识图谱实战
  18. 国内与国外CRM系统相比有哪些优劣势?
  19. 复数乘法(JAVA)
  20. LQ-630K打印发票右边打不全?

热门文章

  1. Ranger-Sqoop2插件安装
  2. 获取iview中表单组件Table的选中数据
  3. SpringMVC面试
  4. 【leetcode困难】968. 监控二叉树
  5. 根据字符串形式的路径导入模块(重要)
  6. jQuery左右循环滚动图片特效
  7. 面向对象三节课,对象与权限修饰符,作业0918
  8. 敏捷开发方法XP的12个最佳实践
  9. SQL Server 自动化运维系列
  10. mysql5.5分别把这两个数据库同步到不同的从服务器