2004-10-16 15:49:29 +0900 (1420d); rev 4
Windows で Ruby を使うぞ!
Windows で動く ruby にはビルド環境によっていくつか種類がある。
mswin32 版と mingw は msvcrt.dll を使う。 Cygwin は cygwin1.dll を使う。 bcc32 は知らんが独自だと思う。 interix はもちろん SFU の libc を使う。
で、どれを使えばいいか結論だけ言うと、 Unix と CUI ラブな人は Cygwin を全部入れて Cygwin 版をコンパイルすべし。 それ以外の人は ActiveScriptRuby (mswin32) を使うのが吉。 bcc32 はまだ不安定ぽいのでもう少し避けたほうがよい。 interix は安定度では比較にもならない。
Ruby スレッドは実装に select を使っている。 ところが Win32 ではソケットしか select できないため、 マルチスレッドでソケット以外の I/O をするとブロックする。
解決策としては ?WaitForMultipleObjectsEx を使えばよいらしい (?)。 ただし ?WaitForMultipleObjectsEx には同時に待てるオブジェクト数の 制限がある (MAXIMUM_WAIT_OBJECTS = 65) ので、 カーネルオブジェクトをカスケードして使わないとだめらしい (?)。
OLE オートメーションと言うか COM が使える。 ようするに IE とか Word とか Excel が操作できる。 Ruby 1.8 標準添付。
Related Pages: WindowsPages RubyPages
system revision 1.162