Was ist Cygwin? Ist es Windows oder Linux?

Ursprünglicher Autor: gentle_zhou

Ursprünglicher Link: https://bbs.huaweicloud.com/blogs/408674


Als ich kürzlich mit Kunden kommunizierte, dachte ich immer, dass die Forschungs- und Entwicklungsumgebung des Kunden Windows 7 sei. Bis ich mit dem anderen Forschungs- und Entwicklungsteam kommunizierte, erhielt ich die Rückmeldung, dass Cygwin auf dem Windows 7-System installiert war, was nicht mit dem Windows-System übereinstimmte .

Bild.png

Was ist Cygwin?

Cygwin ist eine Unix-Umgebung, die die Ausführung auf der Windows-Plattform unterstützt. Die früheste Version wurde im Oktober 1995 veröffentlicht und die neueste stabile Version 3.4.6 wurde am 14. Februar 2023 veröffentlicht. Sein Ziel ist es, GNU- und Open-Source-Tools wie Bash, GCC, Less usw. für Windows-Benutzer verfügbar zu machen. Cygwin ist jedoch kein Tool, das die Ausführung nativer Linux-Anwendungen unterstützt oder Windows-Anwendungen auf Unix-Funktionen aufmerksam macht; es handelt sich tatsächlich um eine große Sammlung von GNU- und Open-Source-Tools, die ähnliche Funktionen wie Linux-Distributionsversionen unter Windows unterstützen (Linux_distribution target Es ermöglicht Benutzern um Unix-ähnliche Funktionen und Erfahrungen auf verschiedenen Hardwareplattformen zu nutzen), was es Benutzern ermöglicht, viele Software auf Windows-Systemen auszuführen, die nur auf Unix- oder Linux-Systemen ausgeführt werden konnten.

Cygwin besteht aus zwei Teilen:

  • Eine Dynamic-Link-Bibliothek (DLL, Dynamic-Link-Bibliothek) in Form einer C-Standardbibliothek, die als Kompatibilitätsschicht für die POSIX-API dient.
  • Eine weit verbreitete Sammlung von Softwaretools und Anwendungen, die ein Unix-ähnliches Erscheinungsbild bieten.

Cygwin的抽象层DLL (cygwin1.dll)用于将部分Posix(可移植操作系统接口(Portable Operating System Interface of UNIX)调用转换成Windows的API调用,让用户可以在Windows系统上编译和运行一些基于Posix标准的源代码,而不需要修改或者重新编写。但需要注意,Cygwin不是一个完全符合Posix标准的环境,它只实现了部分Posix API,并且其中有一些是与Windows系统本身的API有冲突和限制的。同时,因为该DLL需要额外加载,可能会影响Windows系统的性能和稳定性,并且可能会与一些Windows程序产生兼容性问题。

Cygwin环境当前有两个版本;完整的64位版本和精简的32位版本(后者正在慢慢被淘汰)。再深入点说,Cygwin是由一个库和一个GNU开发工具链组成的;这个库实现了POSIX系统调用API的功能,它可以把部分POSIX调用转换成Windows系统调用,从而支持用户在Windows平台上可以运行大量与Unix系统类似的应用程序;而这个GNU开发工具链(包括GCC和GDB)则支持让用户进行软件开发。

在Cygwin上操作与在Windows上操作有什么区别?

  • Cygwin提供了一个易用的命令行界面,让用户可以使用Unix风格的命令和脚本来操作文件和程序。而在Windows上操作,通常需要使用图形界面或者PowerShell等工具。
  • Cygwin允许用户在Windows系统上运行许多原本只能在Unix或Linux系统上运行的软件,如Perl, Ruby, R等。而在Windows上操作,通常需要安装特定的版本或者使用模拟器等方式才能支持。
  • Cygwin提供了一个兼容性层DDL,让用户可以在Windows系统上编译和运行一些基于Posix标准的源代码,而不需要修改或者重新编写。而在Windows上操作,通常需要使用特定的编译器或者修改源代码以适应Windows的API。
  • Auch die Compiler in den beiden Umgebungen sind unterschiedlich. In Cygwin wird eine GNU-Entwicklungstoolchain (einschließlich GCC und GDB) zum Kompilieren und Debuggen von C- und C++-Programmen bereitgestellt; diese Compiler folgen GNU-Standards und -Erweiterungen. Windows stellt Entwicklungstools wie Visual Studio zum Kompilieren und Debuggen von C- und C++-Programmen bereit, und diese Compiler folgen Microsoft-Standards und -Erweiterungen.

Referenzlink

  1. Cloud-Community – Huawei Cloud
  2. https://www.cygwin.com/
  3. https://en.wikipedia.org/wiki/Linux_distribution

Supongo que te gusta

Origin blog.csdn.net/hwxiaozhi/article/details/132604089
Recomendado
Clasificación