• Cygwin


    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是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。 

    简介

    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/IEC 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。

    外部链接

     

     

    原文地址 http://zh.wikipedia.org/wiki/Cygwin

  • 相关阅读:
    LINQ to XML 示例(转)
    (jQuery,Highcharts)前端图表系列之一 Highcharts (转)
    c#中Split等分割字符串的几种方法(转)
    Highcharts 强大的jQuery图表制作功能
    OpenFileDialog、SaveFileDialog常用屬性、對話框用法及得到系統特殊文件夾路徑(转)
    C# Regex 深入正则表达式(转)
    C#文件IO操作(转)
    免费Google地图API使用说明(转)
    Java遍历集合的几种方法分析(实现原理、算法性能、适用场合)
    C++ Web 开发框架 (CppCMS)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318688.html
Copyright © 2020-2023  润新知