22件ヒット
[1-22件を表示]
(0.033秒)
種類
- インスタンスメソッド (11)
- 特異メソッド (11)
ライブラリ
- fiddle (22)
検索結果
先頭2件
-
Fiddle
:: Function # call(*args) -> Integer|DL :: CPtr|nil (18215.0) -
関数を呼び出します。
...関数を呼び出します。
Fiddle::Function.new で指定した引数と返り値の型に基いて
Ruby のオブジェクトを適切に C のデータに変換して C の関数を呼び出し、
その返り値を Ruby のオブジェクトに変換して返します。
引数の変換は......以下の通りです。
: void* (つまり任意のポインタ型)
nil ならば C の NULL に変換されます
Fiddle::Pointer は保持している C ポインタに変換されます。
文字列であればその先頭ポインタになります。
IO オブジェクトであれば......。
: void
nil を返します
: (unsigned) char/short/int/long/long long
C の整数を Ruby の整数に変換します
: void*(つまり任意のポインタ型)
C のポインタを保持した Fiddle::Pointer を返します。
@param args 関数の引数
@see Fiddle::Function.new... -
Fiddle
:: Function . new(ptr , args , ret _ type , abi=Fiddle :: Function :: DEFAULT , name: nil) -> Fiddle :: Function (108.0) -
ptr (関数ポインタ)から Fiddle::Function オブジェクトを 生成します。
...ptr (関数ポインタ)から Fiddle::Function オブジェクトを
生成します。
ptr には Fiddle::Handle から Fiddle::Handle#sym などで取りだした
関数ポインタ(を表す整数)、もしくは関数を指している
Fiddle::Pointer を渡します。
args、ret_type で関......:TYPE_SSIZE_T
abi で呼出規約を指定します。
* Fiddle::Function::DEFAULT
* Fiddle::Function::STDCALL
のどちらかを指定します。
require 'fiddle'
h = Fiddle::Handle.new('libc.so.6')
func = Fiddle::Function.new(h.sym("strlen"), [Fiddle::TYPE_VOIDP],......Fiddle::TYPE_INT, name: "strlen")
p func.ptr == h.sym("strlen") # => true
p func.call("abc") # => 3
p func.name # => "strlen"
@param ptr C の関数を指す Fiddle::Pointer オブジェクトもしくは
アドレスを表す整数
@param args 引数の型を表す配...