MingW-W64 发行构建标志 具体含义


MinGW-w64 是针对微软 Windows 32 & 64 位平台的开源 C 编译库。

i686-11.2.0-release-posix-dwarf-rt_v9-rev1.7z
i686-11.2.0-release-posix-sjlj-rt_v9-rev1.7z
 
i686-11.2.0-release-win32-dwarf-rt_v9-rev1.7z
i686-11.2.0-release-win32-sjlj-rt_v9-rev1.7z
 
x86_64-11.2.0-release-posix-seh-rt_v9-rev1.7z
x86_64-11.2.0-release-posix-sjlj-rt_v9-rev1.7z
 
x86_64-11.2.0-release-win32-seh-rt_v9-rev1.7z
x86_64-11.2.0-release-win32-sjlj-rt_v9-rev1.7z
					
  1. i686 x86_64

  2. i686 指 32 位 x86 架构,针对 Windows 32 位进行编译 (也可在 Windows 64 位上运行,但在 32 位模式下)。

    x86_64 指 64 位 x86 架构,针对 Windows 64 位进行编译 (不可以在 Windows 32 位上运行)。

  3. posix win32

  4. posix 将启用 C++11/C11 多线程功能,且 libgcc 将依赖于 libwinpthreads。

    win32 不会启用 C++11 多线程功能。

  5. MCF

  6. MCF 指 MCF Gthread,是 Windows 7 及更高版本的线程支持库。

    MCF 实现了 gthread 接口集,GCC 在内部使用它来提供本地静态对象的初始化同步,libstdc++ 在内部使用它来提供 C++11 线程工具。

  7. dwarf seh sjlj

  8. dwarf 是 Linux 处理异常的机制,使用一种叫 DWARF 的调试信息格式,来描述程序的结构和行为。

    dwarf 可以处理 C++ 异常,但无法处理硬件异常。

    seh 指结构化异常处理 (Structured Exception Handling),是 Windows 处理异常的机制。

    seh 兼容 C++ 异常, seh 可以处理硬件异常 (如:除零错误) 和软件异常 (如:访问无效内存)。

    sjlj (setjmp/longjmp): 表示采用 setjmp/longjmp 异常处理模型。

    sjlj 是相对较慢的一种异常处理方式,但适用于一些特定情况。

  9. msvcrt

  10. msvcrt 指 Microsoft Visual C++ 运行时(Microsoft Visual C++ Runtime),提供 C 标准库函数的动态链接库。

    msvcrt 是 Windows 系统自带的,但由于向后兼容性的问题,它没有完全遵循 C99 标准,且缺少一些功能。

  11. ucrt

  12. ucrt 指通用 C 运行时(Universal C Runtime),提供 C 标准库函数的动态链接库。

    ucrt 是 Windows 10 及更新版本的系统自带的,它遵循 C99 和 C11 标准,并提供一些额外功能。

  13. GDB

  14. GNU 工程调试器。

  15. GNU Binutils

  16. 二进制工具的集合。

  17. GNU Make

  18. 控制可执行文件和其它非源文件生成的工具。

  19. Yasm

  20. Yasm 模块化汇编程序工程。

  21. NASM

  22. 全网汇编程序。

  23. JWasm

  24. MASM 兼容汇编程序。

  25. LLVM/Clang/LLD/LLDB

  26. 基于 LLVM 的编译器。