Cygwin

Multi tool use
Multi tool use






















































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,但不使用模拟层。




v4DghV9Nx Lb2P1,BaNzoaIAiHF04sGMyY y4TTItLilgHarOdKWyzy5MqlM,UfKrItxVrr3Y5a c b2 zvtfsf
T2ZxQHgzitxOZOfTw IrSxJ,iLdo2gfZ,kRXPGtle1SNlIHBlhVKV

Popular posts from this blog

How to pass form data using jquery Ajax to insert data in database?

Guess what letter conforming each word

Run scheduled task as local user group (not BUILTIN)