Cygwin

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 15 mai 2015; verificările necesită 24 de modificări .
Cygwin
Tip de software gratuit și open source , sistem de operare asemănător Unix , interfață de linie de comandă și platformă de computer [d]
Dezvoltator palarie rosie
Scris in C++ [2] și C [2]
Sistem de operare Microsoft Windows
Prima editie 1995
Platformă hardware Microsoft Windows
ultima versiune
Licență GNU GPL 3 [3]
Site-ul web cygwin.com
 Fișiere media la Wikimedia Commons

Cygwin (pronunțat /ˈsɪgwɪn/ ) [4]  este un mediu UNIX și o interfață de linie de comandă pentru Microsoft Windows . Cygwin oferă o integrare strânsă a aplicațiilor, datelor și resurselor Windows cu aplicații, date și resurse asemănătoare UNIX. Din mediul Cygwin, puteți rula aplicații Windows normale și puteți utiliza, de asemenea, instrumentele Cygwin din Windows.

Cygwin constă din două părți: o bibliotecă de legături dinamice ( DLL ) cygwin1.dllcare oferă compatibilitate API și implementează o mare parte din standardul POSIX și o colecție imensă de aplicații care oferă un mediu UNIX familiar, inclusiv shell-ul Unix .

Cygwin a fost dezvoltat inițial de Cygnus Solutions , care a fost achiziționat ulterior de Red Hat . Este un software gratuit publicat sub Licența Publică Generală GNU versiunea 2. Cygwin este în prezent dezvoltat de personalul Red Hat, NetApp și mulți voluntari. Limbi acceptate: C , C++ , Objective-C , Fortran , Gambas , Perl , Python , Ruby , Tcl , Ada , CLISP , Scheme , OCaml , Prolog , Self (Self/x86 [5] ).

Microsoft a oferit, de asemenea, funcționalități similare în pachetul Servicii pentru UNIX , care include subsistemul Interix și Subsistemul pentru aplicații bazate pe UNIX (în versiunile mai noi).

Descriere

Cygwin este un instrument pentru portarea software-ului UNIX la Windows și este o bibliotecă care implementează API -ul POSIX pe baza apelurilor de sistem Win32 . În plus, Cygwin include instrumente de dezvoltare GNU pentru sarcini de programare de bază, precum și unele programe de aplicație echivalente cu programele de bază UNIX. În 2001, Cygwin a inclus pachetul X Window System .

În plus, Cygwin conține biblioteca MinGW , care vă permite să lucrați cu biblioteca Microsoft MSVCRT ( Windows API ); biblioteca MinGW este mai puțin pretențioasă în ceea ce privește cantitatea de RAM și memorie de disc, distribuită sub o licență mai liberă și poate funcționa cu orice software, dar funcționalitatea specificației POSIX nu este implementată în ea la fel de complet ca în Cygwin.

Red Hat implementează biblioteca Cygwin sub GNU GPL , deci poate fi folosită numai în programele distribuite sub GPL. Pentru a distribui programe care utilizează biblioteca Cygwin sub o altă licență decât GPL, trebuie să achiziționați o licență de la RedHat.

Pe pagina Liste de corespondență Cygwin , vă puteți abona la lista de corespondență Cygwin.

Istorie

Proiectul Cygwin a fost început în 1995 de Steve  Chamberlain , un programator Cygnus, care a observat că Windows NT și Windows 95 foloseau formatul COFF ca format de fișier obiect . Până atunci, GNU implementase deja suport pentru arhitectura x86 , COFF , precum și biblioteca newlib C; astfel, cel puțin în teorie, nu a fost dificil să obțineți un compilator încrucișat de la GCC care să producă executabile Windows. Acest lucru s-a dovedit a fi ușor în practică. Curând a apărut un prototip.

Următorul pas a fost să faceți compilatorul să funcționeze pe Windows, dar acest lucru a necesitat emularea multor caracteristici Unix: de exemplu, scriptul de configurare GNU trebuia să funcționeze . Acest script are nevoie de un shell precum bash , care, la rândul său, necesită I/O standard și apelul de sistem fork . Windows are o funcționalitate similară, iar biblioteca Cygwin traduce doar apelurile din programe prin manipularea anumitor tipuri de date, cum ar fi descriptori de fișiere .

În 1996, alți programatori s-au alăturat proiectului Cygwin, deoarece a devenit evident că Cygwin va face posibilă utilizarea instrumentelor Cygnus pe sistemele Windows (înainte de aceasta, era planificat să se utilizeze DJGPP ). Această opțiune a fost deosebit de atractivă, deoarece compilarea încrucișată putea fi realizată în trei direcții: puteți utiliza stația puternică Sun pentru a construi compilatorul încrucișat Windows MIPS , ceea ce a făcut posibilă economisirea semnificativă a timpului. Din 1998, Cygnus a oferit pachetul Cygwin ca produs independent.

Internaționalizare

Înainte de versiunea 1.7, Cygwin nu avea suport Unicode și folosea doar versiunile ANSI ale funcțiilor Win32; nu a existat nici un suport pentru alte codificări decât cele native pentru Windows și OEM (de exemplu, în versiunea rusă de Windows, Cygwin a funcționat numai cu CP1251 și CP866 , dar nu KOI8-R , ISO 8859-5 , UTF-8 sau oricare alta.

Începând cu versiunea 1.7, codificarea implicită este Unicode în forma UTF-8 și, în consecință, localul (locale în engleză) este utilizat în mod implicitC.UTF-8 . Când apelează funcții Win32, Cygwin traduce șirurile de caractere în codificarea UTF-16 utilizată pe sistemele Windows . De la versiunea 1.7.2, Cygwin poate extrage, de asemenea, unele informații din Registrul Windows în funcție de setările de limbă și teritoriu din setările regionale.

O altă problemă a fost că consola Cygwin (cum ar fi CMD.EXE ) folosea codificarea OEM. Pentru a ocoli această limitare, a fost recomandat să rulați demonii rshd sau sshd în Cygwin și să utilizați un emulator de terminal cu suport complet UTF-8, cum ar fi PuTTY sau MinTTY (inclus cu Cygwin). Începând cu versiunea 2.0, Cygwin folosește MinTTY ca o consolă obișnuită, care funcționează în codificare UTF-8, care vă permite să afișați informațiile text în UTF-8 direct. Terminalul traduce, de asemenea, informațiile introduse de la tastatură în UTF-8, în conformitate cu aspectul național utilizat.

Lucrul cu chirilic

În versiunile moderne de Cygwin, lucrul cu caractere rusești nu necesită setări suplimentare. Caracterele chirilice sunt acceptate în setările regionale LANG=C.UTF-8 neutre , inclusiv numele de fișiere, numele de utilizator și datele de registru. Puteți seta setări regionale în limba rusă LANG=ru_RU.UTF-8. Aceasta va activa mesajele în limba rusă (pentru unele programe), datele în rusă (LC_TIME) și alte setări regionale.

Note

  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: Cum se pronunta?  (engleză) (14 septembrie 2004). Consultat la 27 aprilie 2010. Arhivat din original pe 25 august 2011.
  5. Self/x86 (link descendent) . www.gliebe.de. Consultat la 24 decembrie 2016. Arhivat din original la 10 iulie 2016. 

Vezi și

Link -uri