CygwinWindows下的Linux開發(fā)環(huán)境
Cygwin是許多自由軟件的集合,最初由Cygnus Solutions開發(fā),用于各種版本的Microsoft Windows上,運行UNIX類系統(tǒng)。Cygwin的主要目的是通過重新編譯,將POSIX系統(tǒng)(例如Linux、BSD,以及其他Unix系統(tǒng))上的軟件移植到Windows上。Cygwin移植工作在Windows NT、Windows 2000、Windows XP以及Windows Server 2003上比較好,在Windows 95和Windows 98上,相對差勁一些。目前Cygwin由Red Hat等負責維護。
Cygwin包括了一套庫,該庫在Win32系統(tǒng)下實現(xiàn)了POSIX系統(tǒng)調(diào)用的API;還有一套GNU開發(fā)工具集(比如GCC、GDB),這樣可以進行簡單的軟件開發(fā);還有一些UNIX系統(tǒng)下的常見程序。2001年,新增了X Window System。
另外還有一個名為MinGW的庫,可以跟Windows本地的MSVCRT庫(Windows API)一起工作。MinGW占用內(nèi)存、硬盤空間都比較少,能夠鏈接到任意軟件,但它對POSIX規(guī)范的實現(xiàn)沒有Cygwin庫完備。
但糟糕的是,Cygwin不支持Unicode。實際上,除了當前Windows系統(tǒng)以及OEM codepages(例如,一個俄語用戶,他的codepages是CP1251和CP866,而不能是KOI8-R、ISO/IEC 8859-5、UTF-8等),Cygwin對其他字符集都不支持。
Red Hat規(guī)定,Cygwin庫遵守GNU General Public License,但也可以跟符合開源定義的自由軟件鏈接。Red Hat另有價格不菲的許可協(xié)議,這樣使用Cygwin庫的專屬軟件,就可以進行再發(fā)布。
