不同的Microsoft Windows編譯環境所引起的差異

發表于:2007-07-04來源:作者:點擊數: 標簽:
版本的選擇 若您精通 UNIX 且迷戀CUI的話,請安裝Cygwin后自己編譯Cygwin版。若非如此的話,我們向您推薦mswin32版和mingw版。后者中兩個版本的區別僅僅是編譯環境不同而已,若使用二進制的話,則沒有什么不同(但 Ruby 1.6中稍有不同,后文詳述)。若您經常使
版本的選擇

若您精通UNIX且迷戀CUI的話,請安裝Cygwin后自己編譯Cygwin版。若非如此的話,我們向您推薦mswin32版和mingw版。后者中兩個版本的區別僅僅是編譯環境不同而已,若使用二進制的話,則沒有什么不同(但Ruby1.6中稍有不同,后文詳述)。若您經常使用COM (Component Object Model)的話,還可以考慮使用ActiveScriptRuby。

各自的特征 mswin32

用Microsoft的Visual C++編譯而成的ruby。它與Windows環境的親合度最高,非常穩定。使用它時,不需要別的文件。另外,ActiveScriptRuby也是基于mswin32版的。

當然了,您不能使用fork、pty或termcap等UNIX所特有的功能。

Mingw (Minimalist GNU for Windows)

Mingw是指,使用gclearcase/" target="_blank" >cc來編譯Windows native的程序的環境。從ruby 1.5.4 (2000-05-14)版起得到支持。

因為它使用msvcrt.dll,所以同mswin32版之間保持著二進制兼容性。但在Ruby 1.6以前,因為Ruby DLL名稱不同,不能互相兼容。這個問題在Ruby 1.8以后的版本中得到修正。

與mswin32版一樣,它也不能使用fork()、pty或termcap等UNIX所特有的功能。

為了使用configure,必須得有sh和sed才行。因此,若您自己編譯mingw ruby時,必須有Cygwin才行。

Cygwin

Cygwin是Windows上的POSIX環境模擬層。由Cygnus solutions開發完成。它可以使用UNIX的大部分功能。

使用Cygwin版Ruby時,除了需要Ruby之外,還必須有Cygwin DLL (cygwin1.dll)。另外,若想充分利用Cygwin版的功能的話,還必須掌握Cygwin的知識才行。

有一段時期,它的穩定性并不太好。但最近的Cygwin DLL相對比較穩定。若您在Windows NT系列上盡可能使用新版本的DLL的話,則應該可以解決穩定性差的問題。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97