From: WATANABE Hirofumi Date: 2000-09-07T14:57:09+09:00 Subject: [ruby-dev:10855] Re: bmingw package わたなべです. "Nobuyoshi.Nakada" writes: : main.c じゃなくて ruby.c ですか? xflag を立てるとかそういったことですか? exe ファイルを ruby が parse することになるので, C-z がじゃまに なります. で, .exe がついてたら binmode にする処理を ruby.c に入 れました. :> foo.rb の先頭は "\n#! ruby" じゃないとまずいので rb2exe みた :> いなコマンドを用意したほうがいいか. :> :> sprintf(newargl, "ruby -x \"%s\" %s", myname, cmdline); :> exit(spawnlp(_P_WAIT, "ruby", newargl, 0)); : : これわざわざ別プロセスにしなくともと思ったら、今 Windows 版は実行ファイ :ルの相対パスで $: を決めるようにしてしまったからライブラリがロードできな :いし。 てゆうか, 別プロセスしか頭にありませんでした. cygwin 版でも mswin32,mingw32 版でも runruby.exe 一個あればいい かなというのもあったし. 考えてみれば cygwin は chmod +x すればいいし, mswin32,mingw32 専用ってことで NtInitialize に仕込むのはありかも. ただ, スクリプトが append されてるかどうかをどうやって判断すれば いいんだろう? #! を見に行くのはなんかださいし. 相対パスに関しては ruby.exe を LoadLibraryEx して GetModuleFileName すればできそう. ruby.xxxxx.dll でもいいけど. あ, そういえば以前木村さんがリソースにスクリプトを入れてどー のこーのって言ってたなあ(nifty だったかも). -- わたなべひろふみ