MinGW-w64

MinGW-w64是自由及开放源代码软件开发环境，用于创建Microsoft Windows应用程序。从2005–2008从MinGW(Minimalist GNU for Windows)分支出来。

MinGW-w64包括对GCC、GNU Binutils的Windows版本的移植（汇编器、链接器、库文件管理器），一套自由可分发的Windows特定的头文件与静态导入库以使用Windows API，一个 Windows本地版本的GNU的调试器，以及其它多种工具。

MinGW-w64可运行于本地Microsoft Windows平台，"cross-native"在MSYS2或Cygwin。MinGW-w64能生成32-或64-位可执行程序，运行于或目标平台。

 历史 
2005年, OneVision Software遵照净室设计原则，开始开发MinGW-w64，因为最初的MinGW项目更新太慢，迟迟不支持64位环境开发。2008年，OneVision捐献这个项目给开源社区。

MinGW-w64提供了更全面的Win32 API支持，包括：
 更好的C99支持
 POSIX线程 (pthreads)支持
 GCC multilib, 允许同时安装32位与64位库
 Unicode入口点 (wmain/wWinMain)
 DDK (来自ReactOS)
 DirectX (来自Wine)

 Win64支持
 在x86-64(从gcc 4.8+)上，结构化异常处理(SEH)代替或sjlj 
 一些有用工具如 gendef，widl (一个MIDL编译器来自Wine)

MinGW-w64还维护winpthreads，一个包装库类似于pthreads-win32, 实现了C++11线程库<thread>, <future>, <mutex>。

 MSYS2  
MSYS2 ("minimal system 2")是用于Microsoft Windows的软件发布与开发平台，基于MinGW-w64与Cygwin，把Unix环境中的代码移植到Windows。MSYS2: official homepage , code repository  

编译器
GCC支持的大多数编程语言也被MinGW-w64移植支持。包括C、C++、Objective-C、Objective-C++、Fortran、Ada。使用了GCC运行时刻库（libstdc++用于C++，libgfortran用于Fortran，等等）。MSYS2提供了LLVM的clang的包装。 支持Windows版ARM（与）。

不同C++编译器（如Mindw-w64 GCC与Visual Studio）产生的二进制可执行程序一般互不兼容，因为使用了不同的ABI与名字修饰导致了C++运行时的差异。但被编译的C代码是链接时兼容的。 Clang是个例外，它广泛支持了MSVC的C++ ABI。 
参考文献

外部链接
 官方网站 


Category:C编译器
Category:C++编译器
Category:自由編譯器與直譯器