编辑“︁
Cygwin
”︁
跳转到导航
跳转到搜索
Template:Editnotice load/content
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
{{NoteTA|G1=IT|G2=FL}} {{Infobox Software | name = Cygwin | logo = Cygwin logo.svg | logo size = 64px | screenshot = Cygwin_X11_rootless_WinXP.png | screenshot size = 200px | caption = [[Windows XP]]下运行Cygwin | developer = [[Red Hat]]等 | released = 1995 | latest_release_version = {{wikidata|property|reference|edit|Q216192|P348}} | latest_release_date = {{wikidata|qualifier|Q216192|P348|P577}} | operating_system = [[Microsoft Windows|Windows]] | programming language = [[C語言|C]]/[[C++]] | genre = [[兼容层]], [[C标准函数库]] | license = [[GNU通用公共许可证#GPLv3|GPLv3]] | website = [https://www.cygwin.com/ www.cygwin.com] | }} '''Cygwin'''是许多[[自由软件]]的集合,最初由[[Cygnus Solutions]]开发,用于各种版本的[[Microsoft Windows]]上,运行[[Unix-like|类UNIX]]系统。Cygwin的主要目的是通过重新编译,将[[POSIX]]系统(例如[[Linux]]、[[BSD]],以及其他[[Unix]]系统)上的软件移植到Windows上。Cygwin移植工作在[[Windows NT]]上比较好,在[[Windows 95]]和[[Windows 98]]上,相对差劲一些。目前Cygwin由[[Red Hat]]等负责维护。 == 简介 == Cygwin包括了一套库,该库在[[Win32]]系统下实现了POSIX系统调用的[[API]];还有一套[[GNU]]开发工具集(比如[[GCC]]、[[GNU 除錯器|GDB]]),这样可以进行简单的软件开发;还有一些UNIX系统下的常见程序。2001年,新增了[[X Window System]]。 Cygwin由两部分组成:动态链接库(DLL),以C标准库的形式作为API兼容性层提供POSIX API功能的重要部分,以及提供Unix的大量软件工具和应用程序样的外观和感觉。 <ref name="auto1">{{Cite web|url=https://cygwin.com/faq.html|title=Cygwin FAQ|website=cygwin.com|access-date=2021-03-18|archive-date=2021-05-07|archive-url=https://web.archive.org/web/20210507021924/http://cygwin.com/faq.html}}</ref><br> 另外还有一个名为[[MinGW]]的库,可以跟Windows本地的MSVCRT库([[Windows API]])一起工作。MinGW占用内存、硬盘空间都比较少,能够链接到任意软件,但它对POSIX规范的实现没有Cygwin库完备。 Red Hat规定,Cygwin库遵守[[GNU通用公共许可证]],但也可以跟符合[[開放原始碼|开源定义]]的[[自由软件]]链接。Red Hat另有价格不菲的许可协议,这样使用Cygwin库的[[专属软件]],就可以进行再发布。 用户可以通过[http://cygwin.com/lists.html Cygwin Mailing Lists]{{Wayback|url=http://cygwin.com/lists.html |date=20060615010604 }},订阅若干个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 (系统调用)|Fork]]和[[標準串流]]。Windows含有类似的功能,所以Cygwin库只需要进行翻译调用、管理私有数据,比如[[文件描述符]]。 1996年后,由于看到cygwin可以提供Windows系统上的Cygnus嵌入式工具(以往的方案是使用[[DJGPP]]),其他工程师也加入了进来。特别吸引人的是,Cygwin可以实现三路[[交叉编译]](three-way cross-compile),例如可以在[[昇陽電腦|Sun]]工作站上构建,如此就形成Windows-x-[[MIPS]] 交叉编译器,这样比单纯在PC上编译要快不少。1998年起,Cygnus开始将Cygwin包作为产品来提供。 == 参见 == * [[Cygwin/X]]是运行在Cygwin上,实现[[X視窗系統|X11]]的[[自由软件]]。 * [[MinGW]],将GNU的开发工具,移植到Windows。 * [[适用于Linux的Windows子系统]] (WSL), [[微软]]出的产品,是一个为在Windows 10和Windows Server 2019上能够原生运行Linux二进制可执行文件([[可执行与可链接格式|ELF格式]])的兼容层。目的是取代[[Windows Services for UNIX]]。 * {{link-en|Azure Sphere|Azure Sphere}} * [[Windows Services for UNIX]],[[微软]]出的产品,类似于Cygwin,运行速度比较好,但未来版本不会应用在桌面系统中。 * [[CoLinux]],运行Linux程序的另一方案,在Windows上运行自身的Linux。 == 参考资料 == {{Reflist}} == 外部链接 == {{Wikibooks|en:Cygwin|Cygwin}} * [http://www.cygwin.com Cygwin主页]{{Wayback|url=http://www.cygwin.com/ |date=20180721192424 }} * [http://www.cygwin.com/faq/ Cygwin FAQ]{{Wayback|url=http://www.cygwin.com/faq/ |date=20060615001803 }} * [http://www.cygwin.com/packages/ Cygwin程序列表]{{Webarchive|url=https://archive.today/20121206032435/http://www.cygwin.com/packages/ |date=2012-12-06 }} * [http://freshmeat.net/projects/cygwin/?topic_id=45%2C74 Cygwin page]{{Wayback|url=http://freshmeat.net/projects/cygwin/?topic_id=45%2C74 |date=20060418061557 }} on {{tsl|en|Freshmeat.net|}} * [http://cygnome.sourceforge.net/ CYGNOME]{{Wayback|url=http://cygnome.sourceforge.net/ |date=20050910112259 }} = cygwin + [[GNOME]] * [http://kde-cygwin.sourceforge.net/ KDE-cygwin]{{Wayback|url=http://kde-cygwin.sourceforge.net/ |date=20050126012702 }} cygwin + [[KDE]] * [https://web.archive.org/web/20060209022842/http://unxutils.sourceforge.net/ unxutils]、 [http://gnuwin32.sourceforge.net/ GnuWin32]{{Wayback|url=http://gnuwin32.sourceforge.net/ |date=20050908182357 }}:两个类似的项目,将UNIX工具移植到Windows,但不使用模拟层。 <!-- the link below is broken; please check it *[http://gecko.gc.maricopa.edu/~medgar/puttycyg/ PuttyCYG] PuttyCYG combines [[PuTTY]] and Cygwin creating a local terminal for your Cygwin consoles. A great way to replace a DOS CMD prompt. --> {{软件包管理系统}} {{Unix-Windows互操作性}} [[Category:兼容层]] [[Category:程序设计工具]] [[Category:自由編譯器與直譯器]] [[Category:自由仿真软件]] [[Category:用C編程的自由軟體]] [[Category:红帽公司]] [[Category:系統管理]] [[Category:Windows独占自由软件]]
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息