るりまサーチ

最速Rubyリファレンスマニュアル検索!
22件ヒット [1-22件を表示] (0.024秒)
トップページ > クエリ:Float[x] > クエリ:*[x] > クラス:Fiddle::Function[x]

別のキーワード

  1. _builtin float
  2. float to_d
  3. json float
  4. float rationalize
  5. fiddle type_float

ライブラリ

キーワード

検索結果

Fiddle::Function#call(*args) -> Integer|DL::CPtr|nil (119.0)

関数を呼び出します。

...関数を呼び出します。

Fiddle::Function
.new で指定した引数と返り値の型に基いて
Ruby のオブジェクトを適切に C のデータに変換して C の関数を呼び出し、
その返り値を Ruby のオブジェクトに変換して返します。

引数の変換は...
...す。

: void* (つまり任意のポインタ型)
nil ならば C の NULL に変換されます
Fiddle::Pointer は保持している C ポインタに変換されます。
文字列であればその先頭ポインタになります。
IO オブジェクトであれば FILE* が渡され...
...

: double/float
Ruby の整数 or 浮動小数点数を C の浮動小数点数に変換します

返り値の変換は以下の通りです。

: void
nil を返します

: (unsigned) char/short/int/long/long long
C の整数を Ruby の整数に変換します

: void*(つまり任...

Fiddle::Function.new(ptr, args, ret_type, abi=Fiddle::Function::DEFAULT, name: nil) -> Fiddle::Function (103.0)

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

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

ptr には Fiddle::Handle から Fiddle::Handle#sym などで取りだした
関数ポインタ(を表す整数)、もしくは関数を指している
Fiddle::Pointer を渡します。

args、ret_type で関...
...
*
Fiddle::TYPE_VOID
*
Fiddle::TYPE_VOIDP
*
Fiddle::TYPE_CHAR
*
Fiddle::TYPE_SHORT
*
Fiddle::TYPE_INT
*
Fiddle::TYPE_LONG
*
Fiddle::TYPE_LONG_LONG
*
Fiddle::TYPE_FLOAT
*
Fiddle::TYPE_DOUBLE
*
Fiddle::TYPE_INTPTR_T
*
Fiddle::TYPE_UINTPTR_T
*
Fiddle::TYPE_PTRDIFF_T
*
Fiddl...
...e::TYPE_SIZE_T
*
Fiddle::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::TYP...