Cygwin

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 15. maj 2015; checks kræver 24 redigeringer .
Cygwin
Type gratis og open source software , Unix-lignende operativsystem , kommandolinjegrænseflade og computerplatform [d]
Udvikler rød hat
Skrevet i C++ [2] og C [2]
Operativ system Microsoft Windows
Første udgave 1995
Hardware platform Microsoft Windows
nyeste version
Licens GNU GPL 3 [3]
Internet side cygwin.com
 Mediefiler på Wikimedia Commons

Cygwin (udtales /ˈsɪgwɪn/ ) [4]  er et UNIX-lignende miljø og kommandolinjegrænseflade til Microsoft Windows . Cygwin giver tæt integration af Windows-applikationer, data og ressourcer med UNIX-lignende applikationer, data og ressourcer. Fra Cygwin-miljøet kan du køre normale Windows-applikationer, og du kan også bruge Cygwin-værktøjerne fra Windows.

Cygwin består af to dele: et dynamisk linkbibliotek ( DLL ) cygwin1.dll, der giver API- kompatibilitet og implementerer meget af POSIX- standarden , og en enorm samling af applikationer, der giver et velkendt UNIX-miljø, inklusive Unix-skallen .

Cygwin blev oprindeligt udviklet af Cygnus Solutions , som senere blev opkøbt af Red Hat . Det er gratis software udgivet under GNU General Public License version 2. Cygwin udvikles i øjeblikket af Red Hat-medarbejdere, NetApp og mange frivillige. Understøttede sprog: C , C++ , Objective-C , Fortran , Gambas , Perl , Python , Ruby , Tcl , Ada , CLISP , Scheme , OCaml , Prolog , Self (Selv/x86 [5] ).

Microsoft tilbød også lignende funktionalitet i sin Services for UNIX -pakke , som inkluderer Interix -undersystemet og Subsystem for UNIX-baserede applikationer (i nyere versioner).

Beskrivelse

Cygwin er et værktøj til portering af UNIX-software til Windows og er et bibliotek, der implementerer POSIX API baseret på Win32 -systemkald . Derudover inkluderer Cygwin GNU-udviklingsværktøjer til grundlæggende programmeringsopgaver, samt nogle applikationsprogrammer svarende til UNIX-basisprogrammer. I 2001 inkluderede Cygwin X Window System- pakken .

Derudover indeholder Cygwin MinGW- biblioteket , som giver dig mulighed for at arbejde med Microsoft MSVCRT ( Windows API )-biblioteket; MinGW-biblioteket er mindre krævende for mængden af ​​RAM og diskhukommelse, distribueret under en friere licens og kan fungere med enhver software, men funktionaliteten af ​​POSIX-specifikationen er ikke implementeret i det så fuldt ud som i Cygwin.

Red Hat implementerer Cygwin-biblioteket under GNU GPL , så det kan kun bruges i programmer distribueret under GPL. For at distribuere programmer, der bruger Cygwin-biblioteket under en anden licens end GPL, skal du købe en licens fra RedHat.

På Cygwin Mailing Lists- siden kan du abonnere på Cygwin-mailinglisten.

Historie

Cygwin-projektet blev startet i 1995 af Steve  Chamberlain , en Cygnus-programmør, som bemærkede, at Windows NT og Windows 95 brugte COFF -formatet som deres objektfilformat . På det tidspunkt havde GNU allerede implementeret understøttelse af x86 -arkitekturen , COFF , såvel som newlib C-biblioteket; således var det i det mindste i teorien ikke svært at få en krydskompiler fra GCC , der kunne producere Windows-eksekverbare filer. Dette viste sig at være nemt i praksis. Snart dukkede en prototype op.

Det næste trin var at få kompilatoren til at fungere på Windows, men dette krævede emulering af mange Unix-funktioner: for eksempel skulle GNU-konfigurationsscriptet virke . Dette script har brug for en shell som bash , som igen kræver standard I/O og gaffelsystemkaldet . Windows har lignende funktionalitet, og Cygwin-biblioteket oversætter kun opkald fra programmer ved at manipulere visse typer data, såsom filbeskrivelser .

I 1996 sluttede andre programmører sig til Cygwin-projektet, da det blev klart, at Cygwin ville gøre det muligt at bruge Cygnus-værktøjer på Windows-systemer (før dette var det planlagt at bruge DJGPP ). Denne mulighed var især attraktiv, fordi krydskompilering kunne udføres i tre retninger: du kunne bruge den kraftfulde Sun-station til at bygge Windows MIPS krydskompileren , hvilket gjorde det muligt at spare tid betydeligt. Siden 1998 har Cygnus tilbudt Cygwin-pakken som et selvstændigt produkt.

Internationalisering

Før version 1.7 havde Cygwin ingen Unicode- understøttelse og brugte kun ANSI-versionerne af Win32-funktioner; der var heller ingen understøttelse af andre kodninger end dem, der er hjemmehørende i Windows og OEM (f.eks. i den russiske version af Windows, fungerede Cygwin kun med CP1251 og CP866 , men ikke KOI8-R , ISO 8859-5 , UTF-8 eller enhver anden.

Fra version 1.7 er standardkodningen Unicode i formen UTF-8 , og derfor bruges lokaliteten (locale på engelsk) som standardC.UTF-8 . Når du kalder Win32-funktioner, oversætter Cygwin strenge til UTF-16-kodningen , der bruges på Windows-systemer . Siden version 1.7.2 kan Cygwin også trække nogle oplysninger fra Windows-registreringsdatabasen i henhold til sprog- og områdeindstillingerne i de regionale indstillinger.

Et andet problem var, at Cygwin-konsollen (som CMD.EXE ) brugte OEM-kodningen. For at omgå denne begrænsning blev det anbefalet at køre rshd- eller sshd -dæmonerne i Cygwin og bruge en terminalemulator med fuld UTF-8-understøttelse, såsom PuTTY eller MinTTY (inkluderet med Cygwin). Fra version 2.0 bruger Cygwin MinTTY som en almindelig konsol, som fungerer i UTF-8-kodning, som giver dig mulighed for at vise tekstinformation i UTF-8 direkte. Terminalen oversætter også information indtastet fra tastaturet i UTF-8 i overensstemmelse med det anvendte nationale layout.

Arbejde med kyrillisk

I moderne versioner af Cygwin kræver arbejdet med russiske tegn ikke yderligere indstillinger. Kyrilliske tegn understøttes i neutrale regionale indstillinger LANG=C.UTF-8 , herunder filnavne, brugernavne og registreringsdata. Du kan indstille russisksprogede regionale indstillinger LANG=ru_RU.UTF-8. Dette vil aktivere russisksprogede beskeder (for nogle programmer), datoer på russisk (LC_TIME) og andre regionale indstillinger.

Noter

  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: Hvordan udtaler man det?  (engelsk) (14. september 2004). Hentet 27. april 2010. Arkiveret fra originalen 25. august 2011.
  5. Self/x86 (downlink) . www.gliebe.de. Hentet 24. december 2016. Arkiveret fra originalen 10. juli 2016. 

Se også

Links