天天看點

cygwin與mingw的差別

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上運作。

繼續閱讀