# Microsoft Windows版のビルト環境による違い
どれをインストールすべき?
あなたがUNIXに慣れている場合はCygwin版を使うのが良いかも知れませんが、そうでない場合は Mingw版 や mswin32版 をお勧めします。
それぞれの特徴
- Cygwin
-
Cygwinは、Cygnus solutions によって開発されたWindowsの上のUNIX環境で、UNIXの機能のほとんどすべてを利用できることが特徴です。Cygwinで作られたRubyを利用するにはRubyのほかにcygwin1.dllというファイルだけが必要ですが、継続して利用するにはCygwinに関する多少の知識がないと困るかも知れません。
一番の問題は安定した cygwin1.dll がなかなか得られないことです。最近では Cygwin 1.1.4 の libcygwin.a にバグがあり正しい DLL が作れないという問題もありました。が、年々良くなってきてることには間違いありません。
- Mingw (Minimalist GNU for Windows)
-
MingwとはUNIX(やCygwin)上でWindowsのプログラムをGNU C Compiler (GCC) でコンパイルするための環境です。利用に際しては、Rubyの他に別途必要なモノはありません。ただし実行時の環境を提供するモノではないのでfork()やpty、termcapがサポートされていないなど、UNIX固有の機能が利用できないという制約があります。
基本的に msvcrt.dll を使うことになるので、mswin32 版とバイナリ互換になります(Ruby DLL の名前が違うので、拡張ライブラリを作るとしたら工夫が必要)。現在はコンパイルする際に configure 等 Cygwin の環境を必要とします。1.5.4 (2000-05-14) からサポートしてます。
- mswin32
-
Microsoftの Visual C++ でコンパイルしたものを主に指します。Windows 上の道具だけでコンパイルされているのが特徴です(CVSからコンパイルする場合はbyacc, sed が必要)。利用に際してはRubyの他に別途必要なモノはありません。ただしMingwと同様の制約があります。
この項目のメンテナ
gotoken@notwork.org (ごとけん) (メンテナ募集中)
Ruby