Rubyについて Part 34at TECH
Rubyについて Part 34 - 暇つぶし2ch21:デフォルトの名無しさん
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の初期化関数を呼び出すのはまずいでしょう



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch