cygwin与mingw的区别

时间:2021-12-24 01:52:43
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。

小结:Cypwin是运行于WIndows平台的POSIX“子系统”,提供WIndows下的类Unix环境,并提供将部分Linux应用“移植”到WIndows平台的开发环境的一套软件。Cygwin基本上就是传说中的GNU/NT系统(对照GNU/Linux,GNU/BSD,GNU/HURD)。 MinGW是用于进行Windows应用开发的GNU工具链(开发环境),它的编译产物一般是原生Windows应用,虽然它本身不一定要运行在Windows系统下(也存在与Linux、BSD甚至Cygwin下)。

联系:均提供了部分Linux下的应用,多跑在Windows上;MinGW作为Cygwin下的软件包,可以在Cygwin上运行。