2012-05-23 6 views
21

私はこの2つの違いを扱うことはできません。GNUWin32とcygwinの違い

何か他のものである(?)1(GNUWin32)が窓の上の層(MSYSなど)
その他(cygwinの)だと思われ

それは何を意味するのでしょうか?私はいつ他のものを使いますか?彼らはどちらも同じことに適していますか?

私は主にgitのために使用したいと思っていますが、すべてのことを学び、すべてのことを行うために私のオプションを開いたままにしたい* nixy。

別のツールがありますか?これにはmsysgitが適していますか?
これらすべての* nixプラットフォームの違いを徹底的に調べるリソースはありますか?

答えて

34

Cygwinは、UNIXプログラムを最小限または変更なしでWindowsシステム上でコンパイルおよび実行できるようにするライブラリ、およびこのライブラリでコンパイルされた包括的なパッケージ化されたUNIXツールおよびアプリケーションのセットです。これは、ほぼWindows用の完全なラッパーです。これには、Xサーバと、Linuxディストリビューションで見つかると思われるたくさんのプログラムが含まれています。 WindowsでUNIXコマンドラインを習得したり使用したりしたい人には最適です。

MSYSは、ほとんどの場合、MinGWコンパイラを使用してWindowsシステムにGNUスタイルのパッケージ(configureなど)をビルドするために必要なUNIXツールのポートです。 Cygwinライブラリの変形版を使用して、互換性を犠牲にして効率を上げました。これはWindowsに優しいものです。

GnuWin32は、Windows用のGNUツールの一部のポートです。 MSYS同様、msvcrt.dllと、いくつかのUNIX互換機能を提供する追加のライブラリを使用しています。主な目的は、WindowsプログラムやバッチファイルがGNUプログラムやライブラリの一部を直接使用できるようにすることです。

ほとんどの場合、彼らはすべてのWindows上でUNIXのプログラムを提供していますが、を含む多くの微妙な違いがある:

  • 意図は。 Cygwinは、Windows OS上でUNIXを使いたい人向けです。 MSYSは、GNU/UNIXビルドツールを使用してWindowsプログラムを構築したい人向けです。 GnuWin32は、個々のGNUプログラムとライブラリをWindowsに移植するポートです。
  • テキストファイル、特に行末。 Cygwinでは、CR/LFまたはLFを使用できます。 MSYSは、LF行の終了を期待しています。 GnuWin32プログラムは、CR/LF行末を期待しています。
  • 提供されているプログラム。特に、Cygwinにはさらに多くのパッケージがあり、GnuWin32はシェルを提供していません。

gitについては、Cygwinで利用できます。このバージョンは、Windowsディレクトリ(/cygdriveからアクセス可能)で使用できます。また、前述したように、msysgitがあります。

+3

MSYSに関しては間違っています。 MSYSプログラムは、Cygwin DLLのフォークであるMSYS DLLに基づいており、MinGWツールチェインの代わりに特別なMSYSツールチェインを使用して構築されています。しかし、MSYSの目的は、MinGWツールチェインでネイティブWindowsプログラムを構築するためのUnixライクな環境を提供することです。 – ak2

+4

驚くばかりの答え! [** Gow **](https://github.com/bmatzelle/gow/wiki)はどのように影響を受けますか? – qwertymk

+0

わかりません、決してそれを使用していません。 ansewrで言いたいことは自由です。 –