MinGW-w64 C/C++编译器个版本说明
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MinGW-w64 C/C++编译器个版本说明相关的知识,希望对你有一定的参考价值。
MinGW-w64 C/C++编译器个版本说明
MinGW-w64 C/C++编译器资源直达链接:https://sourceforge.net/projects/mingw-w64/
- 选在下面的8,1.0离线包
型号列表
- x86_64:代表64位系统运行(电脑操作系统)
- x86_win32:代表32位系统运行(电脑操作系统)
x86_64-posix-sjlj
x86_64-posix-seh
x86_64-win32-sjlj
x86_64-win32-seh
i686-posix-sjlj
i686-posix-dwarf
i686-win32-sjlj
i686-win32-dwarf
- 释义1:
DWARF:一种带调试信息(DWARF- 2(DW2)EH)的包, 所以比一般的包尺寸大,仅支持32位系统 - SJLJ:跨平台,支持32,64位系统,缺点是:运行速度稍慢,GCC不支持
- SEH: 调用系统机制处理异常,支持32,64位系统,缺点是:Gcc不支持(即将支持)
- 释义2:
x86_64: 简称X64,64位操作系统
i686: 32位操作系统 (i386的子集),差不多奔腾2(1997年5月)之后的CPU都是可以用的; - 释义3:
posix: 启用了C++ 11 多线程特性
win32: 未启用 (从时间线上正在尝试也启用部分 Threading)
区别
DWARF DWARF- 2(DW2)EH ,这需要使用DWARF-2(或DWARF-3)调试信息。 DW-2 EH可以导致可执行文件略显膨胀,因为大的调用堆栈解开表必须包含在可执行文件中。
setjmp / longjmp(SJLJ)。基于SJLJ的EH比DW2 EH慢得多(在没有异常时会惩罚甚至正常执行),但是可以在没有使用GCC编译的代码或没有调用堆栈的代码上工作。
结构化异常处理(SEH) (Structured Exception Handling)Windows使用自己的异常处理机制。
以上是关于MinGW-w64 C/C++编译器个版本说明的主要内容,如果未能解决你的问题,请参考以下文章
TDM-GCC是从mingw-w64项目patch而来,全部使用静态链接,对线程不需要额外的DLL,默认使用SJLJ异常(真是好东西)