Cygwin

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 15. května 2015; kontroly vyžadují 24 úprav .
Cygwin
Typ bezplatný a open source software , operační systém podobný Unixu , rozhraní příkazového řádku a počítačová platforma [d]
Vývojář červená čepice
Zapsáno v C++ [2] a C [2]
Operační systém Microsoft Windows
První vydání 1995
Hardwarová platforma Microsoft Windows
Nejnovější verze
Licence GNU GPL 3 [3]
webová stránka cygwin.com
 Mediální soubory na Wikimedia Commons

Cygwin (vyslov /ˈsɪgwɪn/ ) [4]  je prostředí a rozhraní příkazového řádku podobné UNIXu pro Microsoft Windows . Cygwin poskytuje těsnou integraci aplikací, dat a prostředků Windows s aplikacemi, daty a prostředky podobnými UNIXu. Z prostředí Cygwin můžete spouštět běžné aplikace pro Windows a můžete použít i nástroje Cygwin z Windows.

Cygwin se skládá ze dvou částí: dynamicky propojované knihovny ( DLL ) cygwin1.dll, která poskytuje kompatibilitu s API a implementuje velkou část standardu POSIX , a obrovské sbírky aplikací, které poskytují známé prostředí UNIX, včetně unixového shellu .

Cygwin byl původně vyvinut společností Cygnus Solutions , kterou později získal Red Hat . Je to svobodný software publikovaný pod GNU General Public License verze 2. Cygwin je v současné době vyvíjen zaměstnanci Red Hatu, NetApp a mnoha dobrovolníků. Podporované jazyky: C , C++ , Objective-C , Fortran , Gambas , Perl , Python , Ruby , Tcl , Ada , CLISP , Scheme , OCaml , Prolog , Self (Self/x86 [5] ).

Microsoft také nabídl podobnou funkci ve svém balíčku Services for UNIX , který zahrnuje subsystém Interix a Subsystem for UNIX-based Applications (v novějších verzích).

Popis

Cygwin je nástroj pro portování softwaru UNIX do Windows a je to knihovna, která implementuje rozhraní POSIX API založené na systémových voláních Win32 . Kromě toho Cygwin obsahuje vývojové nástroje GNU pro základní programovací úlohy a také některé aplikační programy ekvivalentní základním programům UNIX. V roce 2001 Cygwin zahrnul balíček X Window System .

Cygwin navíc obsahuje knihovnu MinGW , která umožňuje pracovat s knihovnou Microsoft MSVCRT ( Windows API ); knihovna MinGW je méně náročná na množství RAM a diskové paměti, distribuuje se pod volnější licencí a umí pracovat s libovolným softwarem, ale funkcionalita specifikace POSIX v ní není implementována tak plně jako v Cygwinu.

Red Hat implementuje knihovnu Cygwin pod GNU GPL , takže ji lze použít pouze v programech distribuovaných pod GPL. Chcete-li distribuovat programy, které používají knihovnu Cygwin pod jinou licencí než GPL, musíte si zakoupit licenci od společnosti RedHat.

Na stránce Cygwin Mailing Lists se můžete přihlásit k odběru Cygwin mailing listu.

Historie

Projekt Cygwin byl zahájen v roce 1995 Stevem  Chamberlainem , programátorem Cygnus, který si všiml, že Windows NT a Windows 95 používají jako formát objektového souboru formát COFF . V té době již GNU implementovalo podporu pro architekturu x86 , COFF , a také knihovnu newlib C; tak, alespoň teoreticky, nebylo těžké získat křížový kompilátor z GCC , který by produkoval spustitelné soubory Windows. To se v praxi ukázalo jako snadné. Brzy se objevil prototyp.

Dalším krokem bylo, aby kompilátor fungoval na Windows, ale to vyžadovalo emulaci mnoha unixových funkcí: například konfigurační skript GNU musel fungovat . Tento skript potřebuje shell jako bash , který zase vyžaduje standardní I/O a systémové volání vidlice . Windows má podobnou funkci a knihovna Cygwin pouze překládá volání z programů manipulací s určitými druhy dat, jako jsou deskriptory souborů .

V roce 1996 se k projektu Cygwin připojili další programátoři, protože se ukázalo, že Cygwin umožní používat nástroje Cygnus na systémech Windows (předtím se plánovalo použití DJGPP ). Tato možnost byla obzvláště atraktivní, protože křížovou kompilaci bylo možné provést ve třech směrech: pomocí výkonné stanice Sun sestavil křížový kompilátor Windows MIPS , což umožnilo výrazně ušetřit čas. Od roku 1998 nabízí Cygnus balíček Cygwin jako samostatný produkt.

Internacionalizace

Před verzí 1.7 Cygwin neměl podporu Unicode a používal pouze ANSI verze funkcí Win32; chyběla také podpora jakýchkoli jiných kódování než těch nativních pro Windows a OEM (například v ruské verzi Windows Cygwin fungoval pouze s CP1251 a CP866 , ale ne KOI8-R , ISO 8859-5 , UTF-8 popř . jakýkoli jiný.

Počínaje verzí 1.7 je výchozí kódování Unicode ve tvaru UTF-8 , a proto se standardně používá národní prostředí (anglicky locale) C.UTF-8. Při volání funkcí Win32 překládá Cygwin řetězce do kódování UTF-16 používaného v systémech Windows . Od verze 1.7.2 může Cygwin také stahovat některé informace z registru Windows podle nastavení jazyka a území v místním nastavení.

Dalším problémem bylo, že konzola Cygwin (jako CMD.EXE ) používala kódování OEM. Chcete-li obejít toto omezení, bylo doporučeno spustit démony rshd nebo sshd v Cygwin a použít emulátor terminálu s plnou podporou UTF-8, jako je PuTTY nebo MinTTY (součástí Cygwin). Počínaje verzí 2.0 používá Cygwin MinTTY jako běžnou konzoli, která pracuje v kódování UTF-8, což umožňuje přímo zobrazovat textové informace v UTF-8. Terminál také překládá informace zadané z klávesnice v UTF-8 v souladu s použitým národním rozložením.

Práce s azbukou

V moderních verzích Cygwinu práce s ruskými znaky nevyžaduje další nastavení. Znaky azbuky jsou podporovány v neutrálním regionálním nastavení LANG=C.UTF-8 , včetně názvů souborů, uživatelských jmen a dat registru. Můžete nastavit regionální nastavení v ruském jazyce LANG=ru_RU.UTF-8. Tím se zapnou zprávy v ruštině (u některých programů), data v ruštině (LC_TIME) a ​​další regionální nastavení.

Poznámky

  1. cygwin 3.3.6-1 – 2022.
  2. 1 2 https://www.openhub.net/p/cygwin/analyses/latest/languages_summary
  3. http://cygwin.com/COPYING
  4. Larry Hall. Re: Jak se to vyslovuje?  (anglicky) (14. září 2004). Získáno 27. dubna 2010. Archivováno z originálu 25. srpna 2011.
  5. Self/x86 (downlink) . www.gliebe.de. Získáno 24. prosince 2016. Archivováno z originálu 10. července 2016. 

Viz také

Odkazy