Rubyについて Part 34 ..
[2ch|▼Menu]
21:デフォルトの名無しさん
09/02/04 11:09:06
Mingw版Ruby 1.9.1-p0 で作った拡張ライブラリが mswin版Ruby 1.9.1で動かせません

原因はMingw版ruby 1.9.1-p0 がmsvcrt-ruby191.dll のDllMain@12をエクスポートしちゃってるので
msvcrt-ruby191.dllをリンクしたプログラムがMingwスタートアップのDllMainではなく
rubyのdllが公開している方をリンクしてしまうからです
rc2からp0になってmsvcrt-ruby191.defの生成法が変わった影響のようです
従来は win32/mkexports.rb によって生成されていたのが
cygwinと共通の生成方式が新設されているようです

C言語環境の知識はあまりありませんが
(特にWindowsのdllシステムやらMingwのdllの扱い方やらはよくわからない)
DllMainなんて公開しちゃだめなんじゃないですか?
ランタイムのエントリルーチンから呼び出される関数ですよね
そもそもが自分で定義するか、そうでなければ
デフォルトのDllMain関数がリンクされるもののはずなので
よそのdllの初期化関数を呼び出すのはまずいでしょう



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5372日前に更新/205 KB
担当:undef