WATANABE Hirofumi
eban****@os*****
2002年 10月 20日 (日) 02:41:17 JST
わたなべです。 Yuya Kato <yuya****@katod*****> writes: > On Sun, 20 Oct 2002 01:40:51 +0900 > Yuya Kato <yuya****@katod*****> wrote: > > > うーん、tcltklib.soのInit_tcltklib関数の呼び出して > > SEGVしていますね。手元では上手くtcltklib.soをコンパイル > > できないので、テストコードを埋め込んでの確認は行ってい > > ませんが、ruby_tcltk_stubs関数が怪しいですね。 > 怪しい、というのはLoadLibrary関数でモジュールをロードして > GetProcAddress関数でアドレスを取得して、呼び出し、という > 部分です。 > なんでこういう処理が必要なのかは分かりませんが・・・。 Tcl/Tkの各versionのDLLに対応するためです。 例えばtcl81.dll/tk81.dllに対して暗黙的にリンクしてしまうとこ れ以外のversionのTcl/Tkがインストールされているとtcltklib.so は動きません。そのためにTcl/Tk 8.1以降のstub機能を利用してます。 ただTcl/Tk 8.4のバイナリだとうまく動かないことはわかっている んですが…。 > こういった処理を行っている拡張ライブラリは、Exerbの仕組み上 > 基本的に動作しません。 > phi.soもそうでしたけど。 > > # phi.soはもりきゅうさんにExerb対応を入れていただきました。 対応できるんならstubs.cにでも入れますけど? -- わたなべひろふみ