我似乎無法弄清楚兩者之間的區別。GNUWin32和cygwin之間的區別
看來,一個(GNUWin32
)是在Windows之上的層(如MSYS
)和
其他(Cygwin的)是另一回事(?)
這是什麼意思?我什麼時候會用另一種?他們都適合同一件事嗎?
我想主要用於git,但希望保持我的選項對於學習和做所有事* nixy。
有沒有其他工具呢? msysgit
會更適合這個嗎?
是否有任何資源詳盡地探討了所有這些* nix平臺的差異?
我似乎無法弄清楚兩者之間的區別。GNUWin32和cygwin之間的區別
看來,一個(GNUWin32
)是在Windows之上的層(如MSYS
)和
其他(Cygwin的)是另一回事(?)
這是什麼意思?我什麼時候會用另一種?他們都適合同一件事嗎?
我想主要用於git,但希望保持我的選項對於學習和做所有事* nixy。
有沒有其他工具呢? msysgit
會更適合這個嗎?
是否有任何資源詳盡地探討了所有這些* nix平臺的差異?
Cygwin是一個努力使UNIX程序能夠在很少或不需要修改的情況下編譯和運行在Windows系統上的庫,以及使用該庫編譯的一整套打包的UNIX工具和應用程序。它幾乎是一個圍繞Windows的完整包裝。它包含一個X服務器以及您可以在Linux發行版中找到的很多程序。對於想要在Windows中學習或使用UNIX命令行的人來說,這非常棒。
MSYS大多的必要建立GNU風格包(帶configure
等)上與MinGW編譯器的Windows系統的UNIX工具的端口。它使用修改後的Cygwin庫的變體來犧牲某些兼容性以提高效率,並且更友善。
GnuWin32只是一些到Windows的GNU工具的端口。像MSYS一樣,它使用msvcrt.dll
以及一個額外的庫來提供一些UNIX兼容性功能。它的主要目的似乎是允許Windows程序和批處理文件直接使用一些GNU程序和庫。
在大多數情況下,它們都提供在Windows UNIX程序,但也有許多細微的差別,其中包括:
至於git,它可以與Cygwin一起使用 - 該版本可以在Windows目錄中使用(可在/cygdrive
下訪問)。另外,如上所述,還有msysgit。
這對於MSYS不正確。 MSYS程序基於MSYS DLL,它是Cygwin DLL的一個分支,並且使用特殊的MSYS工具鏈而不是MinGW工具鏈構建。但是,MSYS的目的是通過MinGW工具鏈提供一個類Unix環境來構建本地Windows程序。 – ak2
真棒回答! [** Gow **](https://github.com/bmatzelle/gow/wiki)如何考慮? – qwertymk
不知道,從來沒有用過它。隨意提及它在ansewr。 –