るりまサーチ (Ruby 2.4.0)

最速Rubyリファレンスマニュアル検索!
14件ヒット [1-14件を表示] (0.112秒)
トップページ > バージョン:2.4.0[x] > クエリ:@[x] > クエリ:E[x] > クエリ:tr[x] > クエリ:@[x] > ライブラリ:fiddle[x]

別のキーワード

  1. open3 popen2e
  2. socket af_e164
  3. matrix det_e
  4. open3 capture2e
  5. matrix rank_e

モジュール

キーワード

検索結果

Fiddle::Pointer#ptr -> Fiddle::Pointer (36607.0)

自身の指す値を Pointer にして返します。

...*p と同じです。

この返り値には、free 関数がセットされず、size は 0 とされます。

例:

require 'fiddle'

s = 'abc'
cptr = Fiddle::Pointer[s]
cref = cptr.ref
p cref.to_s(4).unpack('l*')[0] #=> 136121648
p cptr.to_i #=> 136121648
p cref.pt...

Fiddle::Pointer#to_str(len) -> String (27943.0)

自身が指す領域から長さ len の文字列を複製して返します。

自身が指す領域から長さ len の文字列を複製して返します。

len を省略した場合は、self.size をその代わりに使います。

@param len 文字列の長さを整数で指定します。

Fiddle::Pointer#to_str -> String (27643.0)

自身が指す領域から長さ len の文字列を複製して返します。

自身が指す領域から長さ len の文字列を複製して返します。

len を省略した場合は、self.size をその代わりに使います。

@param len 文字列の長さを整数で指定します。

Fiddle::CStruct.new(addr) -> Fiddle::CStruct (27640.0)

addr のアドレスが指すメモリを構造体のアドレスとみなし、 構造体を作ります。

addr のアドレスが指すメモリを構造体のアドレスとみなし、
構造体を作ります。

C におけるキャストと似ています。
return (struct foo*)addr;
というコードと対応していると言えます。

@param addr アドレス

Fiddle::Importer#struct(signature) -> Class (27640.0)

C の構造体型に対応する Ruby のクラスを構築して返します。

...セサ
返されるクラスは Fiddle::CStruct を継承しています。詳しくは
そちらを参照してください。


@param signature 構造体の各要素を文字列で表現したものの配列

require 'fiddle/import'

module M
extend Fiddle::Importer
dlload "libc.so....
...6"
extern "int gettimeofday(void*, void*)"
Timeval = struct(["long tv_sec", "long tv_usec"])
end

time = M::Timeval.malloc
M.gettimeofday(time, Fiddle::NULL)
p time.tv_sec
p time.tv_usec...

絞り込み条件を変える

Fiddle::Function.new(ptr, args, ret_type, abi=Fiddle::Function::DEFAULT, name: nil) -> Fiddle::Function (18787.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
* Fiddle::T...
...E_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::TYPE_VOID...

Fiddle::Pointer.to_ptr(val) -> Fiddle::Pointer (18715.0)

与えられた val と関連した Pointer オブジェクトを生成して返します。

...を指定します。

@raise Fiddle::DLError to_ptr の返り値が Pointer オブジェクトでない場合に発生します
@raise TypeError 上記のいずれの変換も不可能であった場合に発生します

例:

require 'fiddle'
s = "abc"
p Fiddle::Pointer[s].to_i...

Fiddle::Importer#create_value(type, val = nil) -> Fiddle::CStruct (18676.0)

型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。

...型が type で要素名が "value" であるような構造体を
定義(Fiddle::Importer#struct)し、
その構造体のメモリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。

type は "int", "void*" といった文字列...
...された構造体に
その値を代入します。

@param type 型を表す文字列
@param val 構造体に確保される初期値


require 'fiddle/import'

module M
extend Fiddle::Importer
end

v = M.value("int", 32)
p v.value # => 32
v.value = 48
p v.value # => 48...

Fiddle::Importer#value(type, val = nil) -> Fiddle::CStruct (18676.0)

型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。

...型が type で要素名が "value" であるような構造体を
定義(Fiddle::Importer#struct)し、
その構造体のメモリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。

type は "int", "void*" といった文字列...
...された構造体に
その値を代入します。

@param type 型を表す文字列
@param val 構造体に確保される初期値


require 'fiddle/import'

module M
extend Fiddle::Importer
end

v = M.value("int", 32)
p v.value # => 32
v.value = 48
p v.value # => 48...

Fiddle::Function#name -> nil | String (18643.0)

関数の名前を返します。

...関数の名前を返します。

名前が定義されていない場合は nil を返します。

@see Fiddle::Function.new...

絞り込み条件を変える

Fiddle::Pointer#[](offset, len) -> String (9727.0)

自身の指すアドレスに offset バイトを足したメモリ領域の先頭 len バイトを複製し、 文字列として返します。

...

@param len 値を得たい領域のサイズを指定します。
@raise Fiddle::DLError self の保持するポインタが NULL である場合に発生します

例:

require 'fiddle'

s = 'abc'
cptr = Fiddle::Pointer[s]
p cptr[0, 1] #=> "a"
p cptr[1, 2] #=> "bc...

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

関数を呼び出します。

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

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

引数の変換は...
...以下の通りです。

: void* (つまり任意のポインタ型)
nil ならば C の NULL に変換されます
Fiddle
::Pointer は保持している C ポインタに変換されます。
文字列であればその先頭ポインタになります。
IO オブジェクトであれば...
...渡されます。
整数であればそれがアドレスとみなされます。
to_ptr を持っているならば、それを呼びだし Fiddle::Pointer に
変換したものを用います。
to_i を持っているならば、それを呼びだし結果の整数を
アドレスと...

Fiddle::Pointer#to_s(len) -> String (9643.0)

自身が指す領域から長さ len の文字列を複製して返します。

自身が指す領域から長さ len の文字列を複製して返します。

len を省略した場合は、文字列の終りは '\0' であると仮定して、
strlen(3) を使って長さを算出します。

@param len 文字列の長さを整数で指定します。

Fiddle::Pointer#to_s -> String (9343.0)

自身が指す領域から長さ len の文字列を複製して返します。

自身が指す領域から長さ len の文字列を複製して返します。

len を省略した場合は、文字列の終りは '\0' であると仮定して、
strlen(3) を使って長さを算出します。

@param len 文字列の長さを整数で指定します。