文章目录
1、MinGW-w64 简介
为了在 Windows 上安装 GCC,您需要安装 MinGW-w64。
MinGW-w64 是一个开源项目,它为 Windows 系统提供了一个完整的 GCC 工具链,支持编译生成 32 位和 64 位的 Windows 应用程序。
2、下载最新版本的 MinGW-w64
进入 MinGW 下载页面
https://www.mingw-w64.org/downloads/
下载最新版本 MinGW-w64 等工具的安装程序。
如果小伙伴们不熟悉这种国外界面的风格,不好找最新版本 MinGW-w64,直接访问如下这个 github 网页:
https://github.com/niXman/mingw-builds-binaries/releases?page=1

对于 windows 如下我们选择 64 位的 x86 架构 UNIX API 标准,兼容 Windows 10 以上的系统: x86_64-14.2.0-release-posix-she-ucrt-rt_v12-rev0.7z
或者老版本电脑选择: x86_64-14.2.0-release-posix-she-msvcrt-rt_v12-rev0.7z
点击下载安装包。
3、MingW-W64 多个版本的区别
3.1、i686 和 x86_64
i686 和 x86_64 的区别是指编译器的目标架构。这两者之间有一些区别,例如在寄存器数量和大小,内存寻址,指令集等方面。
- i686 是 32 位的 x86 架构,另外Win32 - i686 - Windows 32 位版本,本机运行并针对 Windows 32 位进行编译(也可在 Windows 64 位上运行,但在 32 位模式下)
- x86_64 是 64 位的 x86 架构。Win64 - x86_64 - Windows 64 位版本,本机运行并针对 Windows 64 位进行编译(不会在 Windows 32 位上运行)
3.2、posix 和 win32 和 MCF
posix 和 win32 的区别是指编译器使用的线程模型。
- posix 是一种 UNIX API 标准
- win32 是 Windows 的 API 标准。这两者之间有一些区别,例如在 mingw-w64 中,使用 posix 线程将启用 C++11/C11 多线程功能,并使 libgcc 依赖于 libwinpthreads。而使用 win32 线程则不会启用 C++11 多线程功能。
- MCF 是MCF Gthread 是Windows 7及更高版本的线程支持库,它实现了g thread 接口集,GCC 在内部使用它来提供本地静态对象的初始化同步,libstdc++ 在内部使用它来提供 C++11 线程工具。
3.3、seh 和 dwarf
seh 和 dwarf 的区别是指编译器使用的异常处理模型。
- seh 的意思是结构化异常处理(Structured Exception Handling),是一种在 Windows 上处理异常的机制。seh 可以处理硬件异常(如除零错误)和软件异常(如访问无效内存)。seh 也可以与 C++ 异常兼容。
- dwarf 是一种在 Linux 上处理异常的机制,它使用了一种叫做 DWARF 的调试信息格式来描述程序的结构和行为。dwarf 可以处理 C++ 异常,但不能处理硬件异常。
3.4、msvcrt 和 ucrt
- msvcrt 的意思是 Microsoft Visual C++ 运行时(Microsoft Visual C++ Runtime),是一个提供 C 标准库函数的动态链接库。msvcrt 是 Windows 系统自带的,但由于向后兼容性的问题,它没有完全遵循 C99 标准,并且缺少一些功能。
- ucrt 的意思是通用 C 运行时(Universal C Runtime),是一个提供 C 标准库函数的动态链接库。ucrt 是 Windows 10 及更新版本的系统自带的,它遵循了 C99 和 C11 标准,并且提供了一些额外的功能。
3.5、其他
- GDB - GNU 工程调试器
- GNU Binutils - 二进制工具的集合
- GNU Make - 一个控制可执行文件和其他非源文件生成的工具
- Yasm - Yasm 模块化汇编程序项目
- NASM - 全网汇编程序
- JWasm - 一个免费的MASM兼容汇编程序
- LLVM/Clang/LLD/LLDB - LLVM 编译器基础结构
4、MingW-W64 安装
(1)安装教程参考我之前发布的老版本 MingW 的文章:
(2)如果是更新 MingW 的版本,按照下图更新就行了:
把下载包直接解压到当前文件夹,覆盖就行!

然后在安装的 VScode 里输入 gcc --version 发现新版本的 gcc 安装成功!变成 14.2.0 的版本,并正常编译。如下:

每日一更!
公众号、优快云等博客:小鹅编程笔记
日更较慢有需要完整笔记请私我,C/C++/数据结构-算法/单片机51-STM32-GD32-ESP32/嵌入式/Linux操作系统/uboot/Linux内核-驱动-应用/硬件入门-PCB-layout/Python/后期小程序和机器学习!
16万+

被折叠的 条评论
为什么被折叠?



