Mingw Cygwin Msys2等软件的区别

发布于 2017-10-23 15:43:30

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这个包管理系统,提供依赖解决和完整的系统升级功能。

结论

应该下一个MSYS2

comments powered by Disqus