Cygwin

✍ dations ◷ 2025-12-01 17:43:02 #兼容层,程序设计工具,自由编译器与直译器,自由仿真软件,用C编程的自由软件,红帽公司,系统管理,Windows独占自由软件

Cygwin是许多自由软件的集合,最初由Cygnus Solutions开发,用于各种版本的Microsoft Windows上,运行类UNIX系统。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。Cygwin移植工作在Windows NT上比较好,在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库完备。

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和标准流。Windows含有类似的功能,所以Cygwin库只需要进行翻译调用、管理私有数据,比如文件描述符。

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

相关

  • 耳(耳朵)是动物接收并感知声波,识别方位维持身体平衡的器官,为动物提供听觉。耳可以是整个听觉系统的统称,亦可以仅指露出在身体外的部分(外耳)。在大部分的哺乳类动物中,外露在身体
  • 皇家宣言《1763年公告》(又名《1763年皇家宣言》;英语:Royal Proclamation of 1763)发布于1763年10月7日,由英国国王乔治三世赢得七年战争,从法国手上获得新法兰西后发布。该公告的目的是
  • 波伊斯波伊斯(英语:Powys)是英国威尔士东部的一个郡,为威尔士最大的行政区,地形以山地为主,首府为兰德林多德威尔斯,北部和格温内斯、登比、雷克瑟姆接壤,西部和锡尔迪金和卡马森接壤,东部
  • 明朝皇族帝系::明朝皇族为“朱姓”,除以明朝皇帝为核心的皇室外,包括各地藩王及宗室。至正二十八年正月初四(1368年1月23日),明太祖在应天称帝,建国号明,年号洪武。以应天为“南京”,大梁为“
  • 卡罗来纳州 (阿拉巴马州)卡罗来纳州(英文:Carolina),是美国阿拉巴马州下属的一座城市。面积约为1.11平方英里(约合 2.87平方公里)。根据2010年美国人口普查,该市有人口297人,人口密度为267.81/平方英里(约合1
  • 大冈忠相大冈忠相(1677年-1752年2月3日)是江户时代中期的幕臣、大名。通称求马、市十郎、忠右卫门。名为忠义、后改为忠相。官位为从五位下能登守,后转任越前守。大冈忠世家当主,西大平藩
  • 陈章陈章,字一夔,直隶松江府华亭县人,民籍,明朝政治人物。进士出身。早年出身国子生,后进应天府乡试第二十七名。成化十四年(1478年),参加戊戌科会试,得贡士第二十九名。殿试登进士第二甲
  • 田中亚弥田中亚弥(たなか あや、1979年7月30日-)是日本的AV女优。出身于日本山口县周南市。田中亚弥亦是他的本名。徳山女子短期大学经营情报学科肄业。
  • 洋葱头 (表情符号)洋葱头(Onion Tou)是台湾漫画家Ethan(刘顺龙,自称E、葱爸)笔下的形象,在互联网上十分常见。洋葱头是通过部落格进行发布更新。绝大多数用户是通过可爱的洋葱头表情、大头贴认识它
  • 贝恩德·布吕格贝恩德·布吕格 (英语:Bernd Bruegge, 德语:Bernd Brügge,1951年-),是一位德国计算机科学家。他是慕尼黑工业大学教授,应用软件工程研究室主任和卡内基梅隆大学客座副教授。生于1