From: Yugui Date: 2009-09-08T15:56:52+09:00 Subject: [ruby-dev:39260] Re: [Bug #2060] DLをCからRubyに変換する事を勧めます 2009年9月8日14:53 Yukihiro Matsumoto : > 確かに懸念がないわけではないのですが、複数Ruby実装で共通的に > Cルーチンにアクセスできるなどのメリットが大きいので、ffiに対 > するニーズは一定以上あるようです。 はい。Ruby 1.9に入っているDL2は * 1.8と非互換 * サポートしていないcalling conventionがある * メンテナが活動していない という問題があります。 現に、1.9.1リリースの際にはstopperになりました。また現在sparcでの不具合については十分に対応できていません。 ですので、私としてはまつもとさんの提示した条件に加えて誰かがメンテナになってくれるのであればffiでのリプレースに積極的です。 > * dl(1.8の?)と互換のAPIレイヤが提供される > * 1.9のサポートプラットフォームでの動作が確認される もう1.8に対する互換性は破ってしまったので、1.9のDL2に対して互換で良いと思います。 ただし、オプションとして1.8への互換性を保証できればそれに越したことはありません。 また、具体的には次のプラットフォームで動作することが必要です。 * Debian GNU/Linux lenny on IA32 * mswin32, x64-mswin64, mingw32 * Mac OS X 10.5 (Intel) * FreeBSD 6 and later (amd64, IA32) * OpenSolaris on IA32 一応libffiの謳うサポートプラットフォームには、windowsを除いてこれらが含まれているように思います。 また、もし間に合えば1.9.2にも取り込みたいと思います。ただし、以下のことを考えると難しいかも知れません。 2009年9月8日11:19 NARUSE, Yui : > あと、現状 ffi って Ruby-FFI は Windows 対応は experimental で、 > ibffi は本家に Windows 対応が取り込まれていないのでダメですね。 -- Yugui (Yuki Sonoda) yugui@yugui.jp http://yugui.jp