Подтвердить что ты не робот

Разница между GNUWin32 и cygwin

Кажется, я не могу понять разницу между ними.

Кажется, что один (GNUWin32) является слоем поверх окон (например, MSYS) и  другой (cygwin) - это что-то другое (?)

Что это значит? Когда я буду использовать один над другим? Они оба подходят для одного и того же?

Я хочу использовать его в основном для git, но хочу, чтобы мои возможности открывались для обучения и выполняли все вещи * nixy.

Есть ли еще один инструмент для этого? Будет ли msysgit лучше подходит для этого?
Есть ли какие-либо ресурсы, которые исчерпывают различия всех этих * nix-платформ?

4b9b3361

Ответ 1

Cygwin - это библиотека, которая пытается сделать UNIX-программы способными скомпилировать и запустить в системах Windows с минимальными или никакими изменениями и полный набор упакованных инструментов и приложений UNIX, скомпилированных в этой библиотеке. Это почти полная оболочка вокруг Windows. Он включает в себя X-сервер и множество программ, которые вы можете найти в дистрибутиве Linux. Это отлично подходит для людей, которые хотят изучить или использовать командную строку UNIX в Windows.

MSYS - это, в основном, порт инструментов UNIX, необходимых для создания пакетов стиля GNU (с configure и т.д.) в системах Windows с компилятором MinGW. Он использует вариант библиотеки Cygwin, модифицированный, чтобы пожертвовать некоторой совместимостью для повышения эффективности и более удобен для Windows.

GnuWin32 - это просто порт некоторых из инструментов GNU для Windows. Как и MSYS, он использует msvcrt.dll, а также дополнительную библиотеку для предоставления некоторых функций совместимости UNIX. Его основная цель состоит в том, чтобы позволить программам Windows и пакетным файлам напрямую использовать некоторые из программ и библиотек GNU.

По большей части все они предоставляют UNIX-программы в Windows, но есть много тонких отличий, в том числе:

  • Intent. Cygwin предназначен для людей, которые хотят использовать UNIX в ОС Windows. MSYS предназначен для людей, которые хотят создавать программы Windows с использованием инструментов сборки GNU/UNIX. GnuWin32 - это порт отдельных программ и библиотек GNU для Windows.
  • Текстовые файлы, в частности окончания строк. Cygwin позволяет использовать CR/LF или LF. MSYS ожидает окончания линии LF. Программы GnuWin32 ожидают окончания строк CR/LF.
  • Поставляемые программы. В частности, у Cygwin гораздо больше пакетов, и GnuWin32 не предоставляет никаких оболочек.

Что касается git, он доступен с Cygwin - эта версия может использоваться в каталоге Windows (доступной в /cygdrive). Кроме того, как уже упоминалось, msysgit.