るりまサーチ

最速Rubyリファレンスマニュアル検索!
492件ヒット [1-100件を表示] (0.030秒)

モジュール

キーワード

検索結果

<< 1 2 3 ... > >>

Fiddle::Pointer#+@ -> Fiddle::Pointer (6103.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#-@ -> Fiddle::Pointer (6103.0)

自身を指す Pointer オブジェクトを返します。 C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。

...用 &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....

Fiddle::Pointer#ptr -> Fiddle::Pointer (3003.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#ref -> Fiddle::Pointer (3003.0)

自身を指す Pointer オブジェクトを返します。 C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。

...用 &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....

Fiddle::Pointer#[]=(offset, len, v) (29.0)

自身の指すアドレスに offset バイトを足したメモリ領域の先頭 len バイトに 文字列 v をコピーします。

...ん。

@
param offset 書き換えたいメモリ領域のオフセットを整数で与えます。

@
param len 書き換えたいメモリ領域のサイズを整数で指定します。

@
param v メモリ領域にセットしたいバイト列を文字列で指定します。

@
raise Fiddle::DLE...
...rror self の保持するポインタが NULL である場合に発生します

例:

require 'fiddle'

s = 'abc'
cptr = Fiddle::Pointer[s]
p cptr[1,2] = "AA"
p cptr.to_s #=> "aAA"...

絞り込み条件を変える

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

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

...のサイズより小さいかを検証しません。

@
param offset 値を得たい領域の先頭のアドレスまでのオフセットを整数で与えます。

@
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::Importer#bind(signature, *opts) { ... } -> Fiddle::Function (20.0)

Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。

...インポートします。

これでインポートされた関数はモジュール関数として定義されます。
また、Fiddle::Importer#[] で Fiddle::Function オブジェクトとして
取り出すことができます。

signature で関数の名前とシネグチャを指定し...
...ることができます。

@
return インポートした関数を表す Fiddle::Function オブジェクトを返します。

@
param signature 関数の名前とシネグチャ
@
param opts オプション


require 'fiddle/import'

module M
extend Fiddle::Importer
dlload "libc.so...
...are(void*, void*)"){|px, py|
x = px.to_s(Fiddle::SIZEOF_INT).unpack("i!")
y = py.to_s(Fiddle::SIZEOF_INT).unpack("i!")

x <=> y
}
end

data = [32, 180001, -13, -1, 0, 49].pack("i!*")
M.qsort(Fiddle::Pointer[data], 6, Fiddle::SIZEOF_INT, M["compare"])
p data.unpack("i!...

Fiddle::Importer#extern(signature, *opts) -> Fiddle::Function (20.0)

Fiddle::Importer#dlload で取り込んだライブラリから C の関数をインポートします。

...
Fiddle
::Importer#dlload で取り込んだライブラリから
C の関数をインポートします。

インポートした関数はそのモジュールにモジュール関数として定義されます。

signature で関数の名前とシネグチャを指定します。例えば
"int str...
...ることができます。

@
return インポートした関数を表す Fiddle::Function オブジェクトを返します。

@
param signature 関数の名前とシネグチャ
@
param opts オプション


require 'fiddle/import'

module M
extern Fiddle::Importer
dlload "libc.so...

Fiddle::Importer#typealias(new, orig) -> () (20.0)

extern や struct で利用する型の別名を定義します。

...extern や struct で利用する型の別名を定義します。

@
param new 別名(文字列)
@
param orig 別名を付けたい型の名前(文字列)
@
see Fiddle::Importer#extern, Fiddle::Importer#sizeof,
Fiddle
::Importer#struct, Fiddle::Importer#union...
<< 1 2 3 ... > >>