Cygwin - Windows下的Linux开发环境


LGPL v3
Windows
C/C++

软件简介

Cygwin 是许多自由软件的集合,最初由Cygnus Solutions开发,用于各种版本的Microsoft
Windows上,运行UNIX类系统。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。Cygwin移植工作在Windows
NT、Windows 2000、Windows XP以及Windows Server 2003上比较好,在Windows 95和Windows
98上,相对差劲一些。目前Cygwin由Red Hat等负责维护。

Cygwin包括了一套库,该库在Win32系统下实现了POSIX系统调用的API;还有一套GNU开发工具集(比如GCC、GDB),这样可以进行简单的软件开发;还有一些UNIX系统下的常见程序。2001年,新增了X
Window System。

另外还有一个名为MinGW的库,可以跟Windows本地的MSVCRT库(Windows
API)一起工作。MinGW占用内存、硬盘空间都比较少,能够链接到任意软件,但它对POSIX规范的实现没有Cygwin库完备。

但糟糕的是,Cygwin不支持Unicode。实际上,除了当前Windows系统以及OEM
codepages(例如,一个俄语用户,他的codepages是CP1251和CP866,而不能是KOI8-R、ISO/IEC
8859-5、UTF-8等),Cygwin对其他字符集都不支持。

Red Hat规定,Cygwin库遵守GNU General Public License,但也可以跟符合开源定义的自由软件链接。Red
Hat另有价格不菲的许可协议,这样使用Cygwin库的专属软件,就可以进行再发布。