MinGW
(提供库)
Minimalist GNU for Windows
用来开发windows软件,包含为windows移植的一些GNU工具,包括GCC, GNU Binutils, 一组使用Windows API的库。
MinGW可以运行在windows,或者Unix或者Cygwin。
Cygwin
(模拟Unix环境)
为Windows提供了类似Unix的命令行接口,底层是针对windows的。包含DLL作为API兼容层,和可扩展软件工具集来提供类似Unix的体验。
Cygwin由基于Win32系统调用实现的的POSIX系统调用的API组成。
MinGW vs Cygwin
Cygwin注重和Unix兼容,而性能是次要考虑因素
MinGW不提供某些API,例如fork() mmap() ioctl()
,它注重简单和运行性能。
MSYS2
(提供环境)
MSYS2 is an independent rewrite of MSYS, based on modern Cygwin (POSIX compatibility layer) and MinGW-w64 with the aim of better interoperability with native Windows software.
提供了Pacman这个包管理系统,提供依赖解决和完整的系统升级功能。
Links
结论
应该下一个MSYS2