るりまサーチ (Ruby 2.4.0)

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

別のキーワード

  1. fiddle new
  2. fiddle []
  3. fiddle to_i
  4. fiddle free
  5. fiddle malloc

ライブラリ

クラス

モジュール

キーワード

検索結果

Fiddle.#free(addr) -> nil (117412.0)

指定された addr が指すメモリ領域を開放します。

指定された addr が指すメモリ領域を開放します。

必ず Fiddle.#malloc が返した整数を addr に与えなければいけません。
そうでない場合、ruby インタプリタが異常終了します。

@param addr Fiddle.#malloc で確保されたメモリ領域を指す整数を指定します。

例:
require 'fiddle'
addr = Fiddle.malloc(10)
p addr #=> 136942800
Fiddle.free(addr)

Fiddle::RUBY_FREE -> Integer (81304.0)

ruby_xfree の関数ポインタのアドレスの値。

ruby_xfree の関数ポインタのアドレスの値。

Fiddle::Pointer#free -> Fiddle::CFunc (63709.0)

GC がメモリを解放するのに使用する Fiddle::CFunc オブジェクトを返します。

GC がメモリを解放するのに使用する Fiddle::CFunc オブジェクトを返します。

これは普通 Fiddle::Pointer#free= や Fiddle::Pointer.new によって設定されます。

Fiddle::Pointer#free=(cfunc) (27370.0)

GC が自身を解放するのに使う関数を Fiddle::CFunc で指定します。

GC が自身を解放するのに使う関数を Fiddle::CFunc で指定します。

@param cfunc 自身を解放するのに使われる関数を Fiddle::CFunc か整数で指定します。

Fiddle::Pointer.new(addr, size = 0, free = nil) -> Fiddle::Pointer (9679.0)

与えられた addr が指すメモリ領域を表す Pointer オブジェクトを生成して返します。

与えられた addr が指すメモリ領域を表す Pointer オブジェクトを生成して返します。

size を指定した場合、アドレス addr に確保されているメモリ領域のサイズは
size であると仮定されます。GC は free 関数を使用してメモリを解放します。

@param addr 生成する Pointer オブジェクトが指すアドレスを整数で指定します。

@param size 生成する Pointer オブジェクトが指すメモリ領域のサイズを整数で指定します。

@param free GC 時に呼ばれる free 関数を Fiddle::Function オブジェクトか
...

絞り込み条件を変える

Fiddle::Pointer.malloc(size, free = nil) -> Fiddle::Pointer (9661.0)

与えられた長さ size のメモリ領域を確保し、それを表す Pointer オブジェクトを生成して返します。

与えられた長さ size のメモリ領域を確保し、それを表す Pointer オブジェクトを生成して返します。

@param size 確保したいメモリ領域のサイズを整数で指定します。

@param free GC 時に呼ばれる Pointer オブジェクトの free 関数を
Fiddle::Function オブジェクトか整数で指定します。

Fiddle::Pointer#+@ -> Fiddle::Pointer (9361.0)

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

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

自身の指す値はポインタであると仮定します。
C 言語におけるポインタのポインタに対する間接参照 *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
...

Fiddle::Pointer#-@ -> Fiddle::Pointer (9361.0)

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

自身を指す Pointer オブジェクトを返します。
C 言語におけるポインタへのアドレス演算子の適用 &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.ptr.to_s ...

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

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

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

自身の指す値はポインタであると仮定します。
C 言語におけるポインタのポインタに対する間接参照 *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
...

Fiddle::Pointer#ref -> Fiddle::Pointer (9361.0)

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

自身を指す Pointer オブジェクトを返します。
C 言語におけるポインタへのアドレス演算子の適用 &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.ptr.to_s ...

絞り込み条件を変える

Fiddle::Pointer#+(n) -> Fiddle::Pointer (9358.0)

自身のアドレスに n バイトを足した新しい Pointer オブジェクトを返します。

自身のアドレスに n バイトを足した新しい Pointer オブジェクトを返します。

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

@param n アドレスの増分を整数で指定します。

例:
require 'fiddle'

s = 'abc'
cptr = Fiddle::Pointer[s]
p cptr[0,1] #=> "a"
cptr += 1
p cptr[0,1] #=> "b"

Fiddle::Pointer#-(n) -> Fiddle::Pointer (9358.0)

自身のアドレスから n バイトを引いた新しい Pointer オブジェクトを返します。

自身のアドレスから n バイトを引いた新しい Pointer オブジェクトを返します。

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

@param n アドレスの差分を整数で指定します。

例:
require 'fiddle'

s = 'abc'
cptr = Fiddle::Pointer[s]
cptr += 1
p cptr[0,1] #=> "b"
cptr -= 1
p cptr[0,1] #=> "a"