MinGW(全称为 Minimalist GNU for Windows),它实际上是将经典的开源 C 语言编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32 API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。而且还可以使用一些 Windows 平台不具备的,但是 Linux 平台具备的开发工具和 API 函数。用一句话来概括就是:MinGW 就是 GCC 的 Windows 版本 ;MinGW-w64 原本是 MinGW 项目的分支,后来成为独立发展得项目,由于仅有 MinGW-w64 被 GCC 官方所支持, 而 MinGW 早已停止更新, 因此推荐使用 MinGW-w64;MinGW-w64 与 MinGW 的区别在于 MinGW 只能编译生成 32 位可执行程序,而 MinGW-w64 则可以编译生成 64 位或 32 位可执行程序。
博主的系统是WIN7,直接安装官网最新版本的CodeBlocks会报错,于是就转而安装了360软件管家中的CodeBlocks,版本是17.12,安装过程倒是很顺利,但是安装完后发现没有配套编译器,百度搜索了下得知还需要下载MinGW编译器,但很多软件虽然有链结,不是下载下来解压后内容不符,就是压根下载不下来,最后不得已寄望于github。
github倒不负众望,不但给,还可着劲给,对着一堆完全看不懂意义的后缀,只能又求助于各大搜索引擎了,seh 是新发明的,而 sjlj 则是古老的,只用于64位系统;seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位和64位。
传统上,MinGW-w64编译器使用MSVCRT作为运行时库,该库在所有Windows版本上均可使用。然而,自Windows 10起,Universal C Runtime (UCRT)成为MSVCRT的一个可替代选项。UCRT不仅适用于Windows 10,也可安装在早期的Windows版本上,通过“Update for Universal C Runtime in Windows”更新获得。假如你的目标平台不是较老的Windows版本,选择UCRT作为运行时库更为优越,因为它旨在更好地支持最新Windows版本,并提供更佳的标准化符合性。因此,升级到Universal CRT对于优化代码以适应现代Windows环境和标准是非常推荐的。