在讲区别联系之前,我们先看一下这几个东东的前世今生。
知乎地址
具体而言
1、从目标上说MinGW 是让Windows 用户可以用上GNU 工具,比如GCC。Cygwin 提供完整的类Unix 环境,Windows 用户不仅可以使用GNU 工具,理论上Linux 上的程序只要用Cygwin 重新编译,就可以在Windows 上运行。
2、从能力上说如果程序只用到C/C++ 标准库,可以用MinGW 或Cygwin 编译。如果程序还用到了POSIX API,则只能用Cygwin 编译。
3、从依赖上说程序经MinGW 编译后可以直接在Windows 上面运行。程序经Cygwin 编译后运行,需要依赖安装时附带的cygwin1.dll。
**链接:**https://www.zhihu.com/question/22137175/answer/80239625
来源:知乎
补充一下
因为cygwin是虚拟了一个linux环境(cygwin.dll),运行时都需要这个中间模块,所以运行起来会慢一些。如果仅仅是学习和一般使用,这种慢很难察觉。但是如果是为了科学计算,差别会明显。(cygwin下30s,mingw下运行只需6s)另外,cygwin下也有mingw的实现版本。 推荐使用这种方式来使用mingw。
作者:恒思凝
链接:https://www.zhihu.com/question/22137175/answer/22781290
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。