[#43191] ActiveTclのインストール — HIiroshi Kasamatsu <qqmn89yb9@...>

こんにちは、笠松と申します。

13 messages 2007/02/17
[#43193] Re: ActiveTclのインストール — Hidetoshi NAGAI <nagai@...> 2007/02/18

永井@知能.九工大です.

[#43198] Re: ActiveTclのインストール — HIiroshi Kasamatsu <qqmn89yb9@...> 2007/02/18

永井さん、アドバイスありがとうございます。

[#43217] Ruby 1.8.6 preview2 has been released — "Akinori MUSHA" <knu@...>

 Ruby 1.8.6 preview2 をリリースしました。

13 messages 2007/02/24

[ruby-list:43227] Re: Exerb 4.1.0とswin060205でアプリケーションエラー

From: "shingo umeshima" <shin5home@...>
Date: 2007-02-27 10:19:06 UTC
List: ruby-list #43227
梅島です。

VC7.1を手に入れて試してみたのですが、やはりうまく動作しないようです。
生成したexeファイルをデバッガを介して動作させてみたのですが、
swin.soをロードした後、Init_swin()でrb_define_module()を呼んだときに
SEGVとなっていることが分かりました。

[呼び出し履歴]
msvcr71-ruby18.dll!rb_define_module(const char * name=0x10015744)  行 301
C
exe33F.tmp!Init_swin()  行 901 + 0xa    C
test.exe!exerb_call_initialize_function(HINSTANCE__ * const
handle=0x10000000, const char * filepath=0x004f356e)  行 599 + 0x8    C++
test.exe!exerb_load_extension_library(const FILE_ENTRY_HEADER *
file_entry=0x004f3758)  行 391 + 0xd    C++

ここで、msvcr71-ruby18.dllがロードされている?ようなのですが、
これはおかしいですよね。

http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/exerb/exerb/doc/inside.ja.rd?rev=1.16&view=markup
ここのドキュメントでは

>そこでインポートテーブルを書き換え、Ruby DLLをリンクしている部分を自分自身の
>実行ファイルにリンクするように変更します。
>コアはRuby DLLと同じ関数をエクスポートしているので、ダイナミックリンクが成功
>します。

となっているので、インポートテーブルの書き換えがうまくできていない?
と思われるのですが、今のところその原因が分かりません。

exerbで拡張ライブラリを扱う場合、対象となるライブラリがVC6でコンパイルされて
いる必要があるのでしょうか。

# exerb-4.1.0に同梱されているswin.soだとエラーにならずに動作します。

--
UMESHIMA Shingo

In This Thread