GNUWin32和cygwin之间的区别 [英] Difference between GNUWin32 and cygwin
问题描述
我似乎无法得到两者之间的差异的句柄。
I can't seem to get a handle on the difference between the two.
似乎一个( GNUWin32
)是窗口顶部的图层(如 MSYS
)和
其他(cygwin)是别的东西(?)
It seems that one (GNUWin32
) is an layer on top of windows (like MSYS
) and the
other (cygwin) is something else (?)
这是什么意思?我什么时候使用一个在另一个?
What does that mean? When would I use one over the other? Are they both suited for the same thing?
我想将它主要用于git,但想保持我的选择,以学习和做所有的事情* nixy。
I want to use it mainly for git but want to keep my options open for learning and doing all thing *nixy.
还有其他工具吗? msysgit
更适合这种情况吗?
有没有任何资源可以彻底解决所有这些* nix平台的差异?
Is there another tool for this? Will msysgit
be better suited for this?
Are there any resources that go through the differences of all of these *nix platforms exhaustively?
推荐答案
Cygwin is a library that endeavours to make UNIX programs able to compile and run on Windows systems with minimal or no modifications, and a comprehensive set of packaged UNIX tools and applications compiled with this library. It is almost a complete wrapper around Windows. It includes an X server and an awful lot of the programs that you can expect to find in a Linux distribution. It is great for people who want to learn or use the UNIX command line in Windows.
MSYS 主要是在Windows系统上构建GNU样式包(带有 configure
等)所需的UNIX工具的端口 MinGW 编译器。它使用一个修改的Cygwin库的变体,以牺牲一些兼容性的效率,并更加Windows友好。
MSYS is mostly a port of the UNIX tools necessary to build GNU style packages (with a configure
etc) on Windows systems with the MinGW compiler. It uses a variant of the Cygwin library modified to sacrifice some compatibility for efficiency, and is more Windows-friendly.
GnuWin32 只是Windows的一些GNU工具的端口。和MSYS一样,它使用 msvcrt.dll
以及一个附加库来提供一些UNIX兼容性功能。它的主要目的是允许Windows程序和批处理文件直接使用一些GNU程序和库。
GnuWin32 is simply a port of some of the GNU tools to Windows. Like MSYS, it uses msvcrt.dll
, as well as an additional library to provide some UNIX compatibility functions. Its main purpose appears to be to allow Windows programs and batch files to use some of the GNU programs and libraries directly.
在大多数情况下,它们都提供UNIX程序Windows,但有很多细微的差别,包括:
For the most part, they all provide UNIX programs on Windows, but there are many subtle differences, including:
- Intent。 Cygwin适用于希望在其Windows操作系统上使用UNIX的人。 MSYS是为那些想要使用GNU / UNIX构建工具来构建Windows程序的人。 GnuWin32是各个GNU程序和Windows的库的端口。
- 文本文件,特别是行尾。 Cygwin允许你使用CR / LF或LF。 MSYS期望LF行结尾。 GnuWin32程序希望CR / LF行结束。
- 提供程序。特别是,Cygwin有更多的包,GnuWin32不提供任何shell。
至于git, Cygwin - 此版本可以在Windows目录(可在 / cygdrive
下访问)中使用。此外,如上所述,还有 msysgit 。
As for git, it is available with Cygwin - this version can be used in a Windows directory (accessible under /cygdrive
). Also, as mentioned, there is msysgit.
这篇关于GNUWin32和cygwin之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!