在windows上安装MinGW-w64
MinGW(全称为,Minimalist GNU for Windows),它实际上是将经典的开源 C语言编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。而且还可以使用一些 Windows 平台不具备的,但是Linux平台具备的开发工具和API函数。用一句话来概括就是:MinGW 就是 GCC 的 Windows 版本[1]
MinGW-w64安装
有两种方式安装MinGW-w64,第一种是下载压缩包安装;第二种是使用MinGW-w64下载器安装。下面以浏览器下载安装为例,介绍其安装流程及压缩包命名规则。
下载压缩包安装
- 下载压缩包:在这里下载MinGW-w64,文件命名方式如下,根据自己系统及需要下载对应版本,本此安装系统为windows10(64bit),选择了[x86_64-posix-sjlj](https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win64/Personal Builds/mingw-builds/8.1.0/threads-posix/sjlj/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0.7z)
- **解压压缩包:**将路径
mingw64/bin
配置到系统环境变量PATH
中;mingw64/lib
配置到环境变量LIB中;mingw64/bin
配置到环境变量INCLUDE中 - **测试安装:**打开windows终端cmd,输入
gcc -v
,无误后安装成功
文件命名方式解释 [1:1]
- version: GCC编译器版本
- architecture: 电脑系统类型,i686指32位系统;x86_64指64位系统
- threads: 线程类型,posix指可移植的操作系统接口,UNIX系统支持该标准;win32指windows下的一个标准
- exception: 异常处理类型,32位系统有2种:dwarf和sjlj;64位系统同样2种:seh 和 sjlj。3种类型的区别为[2]:
- sjlj:可用于32位和64位 – 不是“零成本”:即使不抛出exception,也会造成较小的性能损失(在exception大的代码中约为15%) – 允许exception遍历例如窗口callback
- seh:结构化异常处理,利用FS段寄存器,将原点压入栈,遇到异常弹出,seh 是新发明的,而 sjlj 则是古老的,seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位
- dwarf:只有32位可用 – 没有永久的运行时间开销 – 需要整个调用堆栈被启用,这意味着exception不能被抛出,例如Windows系统DLL。
- build revision: 建立修订
参考资料: