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 的文章:

(9)C 编译器 MinGW 安装

(2)如果是更新 MingW 的版本,按照下图更新就行了:

把下载包直接解压到当前文件夹,覆盖就行!

在这里插入图片描述

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

在这里插入图片描述


每日一更!

公众号、CSDN等博客:小鹅编程笔记

日更较慢有需要完整笔记请私我,C/C++/数据结构-算法/单片机51-STM32-GD32-ESP32/嵌入式/Linux操作系统/uboot/Linux内核-驱动-应用/硬件入门-PCB-layout/Python/后期小程序和机器学习!

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐