Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > fiddleライブラリ > Fiddle::Functionクラス > new

singleton method Fiddle::Function.new

new(ptr, args, ret_type, abi=Fiddle::Function::DEFAULT) -> Fiddle::Function[permalink][rdoc]

ptr (関数ポインタを表す整数)から Fiddle::Function オブジェクトを 生成します。

ptr には DL::Handle から DL::Handle#ptr で取りだした 関数ポインタ(を表す整数)を渡します。

args、ret_type で関数の引数と返り値の型を指定します。これには以下の 定数が利用できます。「-TYPE_INT」 のように符号を反転させると unsigned を 意味します。

abi で呼出規約を指定します。

のどちらかを指定します。

require 'dl'
require 'fiddle'

include Fiddle

libc = DL.dlopen("/lib/libc.so.6")
f = Fiddle::Function.new(libc["strcpy"], [TYPE_VOIDP, TYPE_VOIDP], TYPE_VOIDP)
[PARAM] ptr:
C の関数を指す DL::Handle オブジェクト
[PARAM] args:
引数の型を表す配列
[PARAM] ret_type:
返り値の型
[PARAM] abi:
呼出規約