mingw-w64 版本选择方法

发布时间 2023-09-20 14:15:21作者: 扁嘴伦

32位系统选择i686, 64位系统选择x86_64


线程模型:win32 : 没有C ++ 11多线程特性;posix : 支持C ++ 11多线程特性
异常处理模型:32位系统推荐dwarf;64位系统推荐seh
因为测试环境为64位系统;所以推荐配置为x86_64-posix-seh
Architecture 是指电脑系统是 32位 还是 64位,根据你的电脑系统做出对应选择。
操作:我的电脑系统是 64位 的,所以我选择了 x86_64,如果你是 32位 系统,则选择 i686 即可。

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

选择异常处理模型(64位)
说明:异常处理在开发中非常重要,你在开发的过程中,大部分的时间会耗在处理各种异常情况上。如果你之前选择了 64位,则这里有两个异常处理模型供你选择,seh 是新发明的,而 sjlj 则是古老的。seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位。
操作:我这里选择了 seh 。

选择异常处理模型(32位)
说明:选择了 32位 后,则可以用 dwarf 和 sjlj 两种异常处理模型。同样的,dwarf 的性能要优于 sjlj ,可以它不支持 64位 。
操作:建议选择 dwarf 。