2014-03-28 36 views
8

搜索一下後,我發現了一些信息(但令人困惑的我)什麼是Cygwin和它有什麼作用

Cygwin的是Microsoft Windows類似Unix的環境和命令行界面。

我在維基百科找到了上面這行代碼,但這是什麼意思? 我沒有收到關於MinGW和Cygwin和MSYS一個清晰的思路,請大家幫忙

+0

有了cygwin,你可以在windows中模擬linuk shell,所以你可以在windows中使用'make'命令;-) –

+0

它可以在Windows上執行它:在Windows上爲你提供一個類Unix環境。而不是通常的DOS CMD窗口,你會得到一個bash shell和所有常用的* nix工具。安裝並試用它很容易 - 它運行良好,不會中斷Windows環境。 –

+0

是否就像我有一個Windows的源代碼...然後我可以在Linux上運行它,如果我使用cygwin編譯它? – Ario

回答

3

web page

cygwin的或多或少是

  1. 在Windows API之上的POSIX兼容層。這主要是封裝在一個cygwin1.dll
  2. 一個分發系統和與此dll編譯的開源軟件存儲庫。

概括地說,如果你有一個Linux源代碼,你可以嘗試重新編譯Cygwin和能在Windows上運行它...

這使得具有典型的UNIX命令訪問許多(殼,GCC /克++,找到....)

替代有:

  • MSYS:是一組在窗口實現典型的UNIX命令。 mingw:能夠產生win32程序的gcc/g ++目標(注意,cygwin gcc/g ++程序將依賴於mingw程序不會有的cygwin1.dll)。
12

,因爲它使人們困惑:

  1. Cygwin的:把它作爲一個操作系統。它提供了一個構建在Windows之上的POSIX C運行時,因此您可以編譯大多數Unix軟件以在其上運行。它帶有GCC,並且在某種程度上,您可以從Cygwin中調用Win32 API,但我不確定這是否意味着要發生或工作。 (2):Cygwin的一個分支,它具有路徑轉換的魔力,使本地Windows程序可以很好地與它一起工作。它的主要目標是提供一個shell,以便您可以運行autotools配置腳本​​。你根本不打算構建MSYS應用程序。請注意,MSYS2爭取更多,幷包含一個完整的包管理系統,因此您可以輕鬆安裝MinGW-w64庫和工具。

  2. MinGW(-w64):GCC編譯器的本地Windows端口,包括Win32 API標頭和庫。它包含一個微小的POSIX兼容層(通過例如winpthreads,unistd.h頭文件和一些其他位),但是你不能用這個編譯POSIX軟件。這與MSVC相比是最好的,MSVC也使用Win32 API生成本機代碼。

請注意,有一些在Cygwin上運行的MinGW-w64交叉編譯器。對於MSYS2,坦率地說沒有看到這樣做的好理由。如果你打算使用Cygwin來運行一個虛擬機,那麼可能還需要Linux。

+0

你會說Cygwin就像終端模擬器或者像windows內核的shell或者上面沒有一個? – JFA

+0

不,Cygwin更像是一個沒有內核的GNU OS,在Windows之上。 MSYS(2)更像是貝殼般的東西。 – rubenvb

+0

沒有內核的操作系統和沒有GUI的外殼之間有什麼區別? – JFA

相關問題