Cygwin
维基百科,自由的百科全书
Cygwin | |
![]() Windows XP下è¿è¡ŒCygwin |
|
å¼€å‘者 | Red Hatç‰ |
---|---|
最新穩定版 | 2.510.2.2 / 2005 |
æ“作系统 | Windows |
类型 | 模拟器 |
许å¯åè®® | GPL |
www.cygwin.com |
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 8859-5ã€UTF-8ç‰ï¼‰ï¼ŒCygwin对其他å—符集都ä¸æ”¯æŒã€‚
Red Hat规定,Cygwin库éµå®ˆGNU General Public License,但也å¯ä»¥è·Ÿç¬¦åˆå¼€æºå®šä¹‰çš„自由软件链接。Red Hatå¦æœ‰ä»·æ ¼ä¸è²çš„许å¯åè®®ï¼Œè¿™æ ·ä½¿ç”¨Cygwin库的专属软件,就å¯ä»¥è¿›è¡Œå†å‘布。
ä½ å¯ä»¥é€šè¿‡Cygwin Mailing Lists,订阅若干个Cygwin相关的邮件列表。
[编辑] 历å²
Cygwin始于1995年,最åˆä½œä¸ºCygnus工程师Steve Chamberlain的一个项目。当时Windows NTå’ŒWindows 95å°†COFFä½œä¸ºç›®æ ‡ä»£ç ,而GNUå·²ç»æ”¯æŒx86å’ŒCOFF,以åŠCè¯è¨€åº“newlibã€‚è¿™æ ·è‡³å°‘åœ¨ç†è®ºä¸Šï¼Œå¯ä»¥å°†GCCé‡å®šå‘,作为cross compiler,从而产生能在Windows上è¿è¡Œçš„å¯æ‰§è¡Œç¨‹åºã€‚在åŽæ¥çš„实践ä¸ï¼Œè¿™å¾ˆå¿«å®žçŽ°äº†ã€‚
接下æ¥çš„问题是如何在Windows系统ä¸å¼•å¯¼ç¼–译器,这需è¦å¯¹Unix的足够模拟,以使GNU configureçš„shell scriptå¯ä»¥è¿è¡Œï¼Œè¿™æ ·å°±ç”¨åˆ°åƒbashè¿™æ ·çš„shell,进而需è¦Forkå’Œstandard I/O。Windowså«æœ‰ç±»ä¼¼çš„功能,所以Cygwin库åªéœ€è¦è¿›è¡Œç¿»è¯‘调用ã€ç®¡ç†ç§æœ‰æ•°æ®ï¼Œæ¯”如文件æ述符。
1996å¹´åŽï¼Œç”±äºŽçœ‹åˆ°cygwinå¯ä»¥æä¾›Windows系统上的Cygnus嵌入å¼å·¥å…·ï¼ˆä»¥å¾€çš„方案是使用DJGPPï¼‰ï¼Œå…¶ä»–å·¥ç¨‹å¸ˆä¹ŸåŠ å…¥äº†è¿›æ¥ã€‚特别å¸å¼•äººçš„是,Cygwinå¯ä»¥å®žçŽ°three-way cross-compile,例如å¯ä»¥åœ¨Sun工作站上build,如æ¤å°±å½¢æˆWindows-x-MIPS cross-compilerï¼Œè¿™æ ·æ¯”å•çº¯åœ¨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,但ä¸ä½¿ç”¨æ¨¡æ‹Ÿå±‚。