singleton method DL::Function.new
new(cfunc, argtypes) -> DL::Function
new(cfunc, argtypes) {|*arg| ... } -> DL::Function
-
指定された DL::CFunc オブジェクト cfunc をラップする DL::Function オブジェクトを生成して返します。
- [PARAM] cfunc:
- DL::CFunc オブジェクトを指定します。
- [PARAM] argtypes:
-
cfunc の引数の型をDLに定義された定数の配列で指定します。
unsigned char など unsigned を指定したい場合は - を付けて
- TYPE_CHAR
を使います。
例:
require 'dl/import' h = DL::Handle.new addr = h.sym('strncmp') cfunc = DL::CFunc.new(addr, DL::TYPE_INT) func = DL::Function.new(cfunc, [DL::TYPE_VOIDP, DL::TYPE_VOIDP, DL::TYPE_INT]) p func.call("abcd", "abcz", 3) #=> 0
[SEE_ALSO] DL::TYPE_INT
class DL::Function