こんにちは、なかむら(う)です。

At Fri, 8 Dec 2000 11:20:53 +0900, WATANABE Hirofumi <eban / os.rim.or.jp> wrote in
    '[ruby-list:26425] Re: ruby-GD'
> :私の環境だとMSVCRT.dllを使おうとするとstrtok()とstrtod()が正しく
> :リンクできないようで、ruby自身の動作がおかしくなってしまいました。

あの時点ではまだ問題の調査中だったのであんな書き方になっちゃい
ました。すみません。


> grep 'strto[dk]' *.[cy] したときの
> char *strtok();
> double strtod();
> が気になります.
> これをコメントアウトするとどうなりますか?

警告はなくなりました... が、僕の出会っている問題の解決にはなり
ませんでした。


で、僕の問題というものですが、

[環境]
OS : Microsoft Windows 2000 [Version 5.00.2195]
VC : Version 11.00.7022 for 80x86 (= VC5)

でMSVCRT.dll版でrubyを構築(しようと)するとminiruby.exeが自分へ
のオプションを認識しなくなるというものです。
make中の拡張ライブラリを作りに行くところで
  .\miniruby.exe: No such file to load -- -Cext (LoadError)
と言われちゃいます。
# で、これがstrtok()でのコンパイル時警告となんか関係があるのか
# と思ってたわけです。

ところが、面白いことに、proc_options()の中で*argvを引数にして
(副作用のない)ライブラリ関数を呼び出すコードを入れてやるとと、
この問題は発生しなくなります(printfデバッグしようとして気付いた)。
なんでこんなことになるのか、現在コンパイラが吐いたアセンブラの
リストを眺めてるところです。

他にこういう現象の出る方はいませんか? (^^;


それでは。

--
U.Nakamura <usa / osb.att.ne.jp>