私が書いた ac 関数を呼び出す ruby gem を作りたいです。例えば:
int func(int x)
{
return x * 2;
}
これは、私の rubygem の ac ファイルにあります。次に、ffi インターフェイスでラップすることにより、Ruby で呼び出すことができるようにしたいと考えています。
module TestModule
extend FFI::Library
ffi_lib 'MyLib'
attach_function 'func', [:int], :int
end
ただし、これを設定する方法がわからないため、gem がインストールされたときに c ファイルがコンパイルされてライブラリ (「MyLib」という名前) になり、ffi がライブラリを検出して上記のコードで使用します。 .
誰かがこれを行う方法を知っていますか、またはこれを行うためのより良い方法はありますか? Ruby を拡張する標準的な方法 (The Pragmatic Programmer's Guide の Ruby の拡張セクションで説明されている) を使用したくないことに注意してください。
この質問にとって重要な場合、私は自分の宝石を作るために宝石商を使用しています。