Cygwin






















































Cygwin

Logo of Cygwin

Cygwin X11 rootless WinXP.png

Windows XP下运行Cygwin

開發者
Red Hat等
初始版本
1995
穩定版本
穩定版本
2.11.0-1
(2018年8月31日,​2個月前​(2018-08-31


编程语言
C/C++
操作系统
Windows
类型
兼容层, C标准函数库
许可协议
GPLv3
網站
www.cygwin.com
源代码库

  • git://sourceware.org/git/newlib-cygwin.git
  • https://cygwin.com/git/gitweb.cgi?p=newlib-cygwin.git

編輯維基數據鏈接

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




目录






  • 1 简介


  • 2 历史


  • 3 参见


  • 4 外部链接





简介


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


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


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


用户可以通过Cygwin Mailing Lists,订阅若干个Cygwin相关的邮件列表。



历史


Cygwin始于1995年,最初作为Cygnus工程师Steve Chamberlain的一个项目。当时Windows NT和Windows 95将COFF作为目标代码,而GNU已经支持x86和COFF,以及C语言库newlib。这样至少在理论上,可以将GCC重定向,作为交叉編譯器,从而产生能在Windows上运行的可执行程序。在后来的实践中,这很快实现了。


接下来的问题是如何在Windows系统中引导编译器,这需要对Unix的足够模拟,以使Autoconf的shell script可以运行,这样就用到像bash这样的shell,进而需要Fork和standard I/O。Windows含有类似的功能,所以Cygwin库只需要进行翻译调用、管理私有数据,比如文件描述符。


1996年后,由于看到cygwin可以提供Windows系统上的Cygnus嵌入式工具(以往的方案是使用DJGPP),其他工程师也加入了进来。特别吸引人的是,Cygwin可以实现三路交叉编译(three-way cross-compile),例如可以在Sun工作站上构建,如此就形成Windows-x-MIPS 交叉编译器,这样比单纯在PC上编译要快不少。1998年起,Cygnus开始将Cygwin包作为产品来提供。



参见




  • Cygwin/X是运行在Cygwin上,实现X11的自由软件。


  • MinGW,将GNU的开发工具,移植到Windows。


  • Services for UNIX,微软出的产品,类似于Cygwin,运行速度比较好,但未来版本不会应用在桌面系统中。


  • CoLinux,运行Linux程序的另一方案,在Windows上运行自身的Linux。



外部链接







  • Cygwin主页

  • Cygwin FAQ

  • Cygwin程序列表


  • Cygwin page on Freshmeat.net


  • CYGNOME = cygwin + GNOME


  • KDE-cygwin cygwin + KDE


  • unxutils、 GnuWin32:两个类似的项目,将UNIX工具移植到Windows,但不使用模拟层。




Popular posts from this blog

Guess what letter conforming each word

Port of Spain

Run scheduled task as local user group (not BUILTIN)