Was ist Cygwin und was macht es [geschlossen]

8

Nachdem ich danach gesucht habe, habe ich einige Informationen gefunden (die für mich verwirrend sind)

  

Cygwin ist eine Unix-ähnliche Umgebung und Befehlszeilenschnittstelle für Microsoft Windows.

Ich habe die obige Zeile in Wikipedia gefunden, aber was bedeutet das? Ich bekomme keine klare Vorstellung von MinGW und Cygwin und msys, bitte helfen Sie

    
Ario 28.03.2014, 08:17
quelle

2 Antworten

12

Weil es Leute verwirrt:

  1. Cygwin: Betrachten Sie es als ein Betriebssystem. Es bietet eine POSIX C-Laufzeitumgebung, die auf Windows basiert, so dass Sie die meisten Unix-Programme kompilieren können. Es kommt mit GCC, und bis zu einem gewissen Grad können Sie die Win32-API innerhalb von Cygwin aufrufen, obwohl ich nicht sicher bin, ob das überhaupt passieren oder überhaupt funktionieren soll.

  2. MSYS (2): eine Gabel von Cygwin, die über eine Pfadübersetzung verfügt, damit native Windows-Programme gut damit arbeiten können. Sein Hauptziel ist es, eine Shell bereitzustellen, damit Sie autotools configure scripts ausführen können. Sie sind nicht dazu gedacht, MSYS-Anwendungen überhaupt zu erstellen. Beachten Sie, dass MSYS2 nach viel mehr strebt und ein umfassendes Paketverwaltungssystem enthält, mit dem Sie einfach MinGW-w64-Bibliotheken und -Tools installieren können.

  3. MinGW (-w64): Ein nativer Windows-Port des GCC-Compilers, einschließlich Win32-API-Header und -IBs. Es enthält eine winzige POSIX-Kompatibilitätsschicht (z. B. winpthreads, die Header unistd.h und einige andere Bits), aber Sie können damit keine POSIX-Software kompilieren. Dies ist am besten mit MSVC verglichen, die auch nativen Code mit der Win32-API erzeugt.

Beachten Sie, dass es MinGW-w64-Cross-Compiler gibt, die auf Cygwin laufen. Mit MSYS2 sehe ich ehrlich gesagt keinen guten Grund, das zu tun. Es könnte auch eine VM mit Linux laufen, wenn Sie Cygwin dafür verwenden.

    
rubenvb 28.03.2014 08:35
quelle
3

Mehr oder weniger von seiner Webseite

Cygwin ist

  1. eine POSIX-Kompatibilitätsebene über der Windows-API. Dies wird hauptsächlich in einer cygwin1.dll
  2. gekapselt
  3. ein Verteilungssystem und ein Repository von Open-Source-Software, die mit dieser DLL kompiliert wurde.

Kurz gesagt, wenn Sie eine Linux-Quelle haben, können Sie versuchen, für Cygwin neu zu kompilieren und in der Lage sein, es unter Windows auszuführen ...

Dies ermöglicht den Zugriff auf viele der typischen Unix-Befehle (Shells, gcc / g ++, find ....)

Alternativen sind:

  • MSYS: sind eine Reihe von typischen Unix-Befehlen in Windows implementiert.
  • mingw: Ein gcc / g ++ - Ziel, das Win32-Programme erzeugen kann (beachten Sie, dass cygwin gcc / g ++ - Programme eine Abhängigkeit von cygwin1.dll haben, die mingw-Programme nicht haben).
jsantander 28.03.2014 08:30
quelle

Tags und Links