Cygwin

✍ dations ◷ 2025-04-09 18:55:56 #兼容层,程序设计工具,自由编译器与直译器,自由仿真软件,用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包作为产品来提供。

相关

  • 星或星星,可以指:其它天体详见天体列表。
  • 古典典籍中国古籍或中国古典典籍一般指的是“公元1911年(含)以前出版的书籍,包括抄本及刻本”。具体而言,可以说是以印刷或书写成“具有中国古典装帧形式(如包背装、线装、蝴蝶装等)、以研
  • span class=nowrapCuSeOsub4/sub/span硒酸铜的五水物是一种浅蓝色晶体,易溶于水。硒酸铜可由氧化铜溶于硒酸得到:硒酸铜在空气中稳定,易溶于水而不溶于乙醇。
  • 海星亚门海星亚门(学名:Asterozoa)是动物界棘皮动物门之下的一个亚门,其下物种的特征包括呈星形的身体和径向发散的对称轴。
  • 物理评论物理评论(英语:,简称),为美国的一个学术性期刊,创办于1893年。该杂志刊登物理学各方面的最新研究成果以及科学评论等文章。该杂志由美国物理学会出版发行。物理评论分为ABCDE等分
  • 氨基磺酸胺基磺酸,是无色晶体,水溶液呈酸性,化学式为H3NSO3。熔点205℃,可溶于液态氮、乙醇、甲酰胺、丙酮,微溶于甲醇,难溶于醚。晶体为NH3+SO3− 的两性离子结构,N及3个O在S的周围形成歪
  • 王祯农书《王祯农书》,又称《农书》,是元朝时期王祯所写的一部农学著作。共有二十二卷、二七零目、约十三万六千字,二八一幅插图。在四库全书中为子部农家类。全书分成三部分。第一部分
  • 金秘书为何那样《金秘书为何那样》(朝鲜语:김비서가 왜 그럴까,英语:What's Wrong With Secretary Kim),为韩国tvN于2018年6月6日起播出的水木连续剧,由《今生是第一次》的朴俊和导演与郑恩英(1~4
  • 最前线《最前线》是日本讲谈社的子公司・星海社开设的网站,于2010年9月15日开站,免费提供小说和漫画等作品。
  • 拉希姆·斯特林拉希姆·沙奎尔·斯特林(英语:Raheem Shaquille Sterling,1994年12月8日-),是一名牙买加裔英格兰足球运动员,目前效力于英超俱乐部曼城,亦为英格兰国家队成员。斯特林在2019年5月