ライブラリ
- ビルトイン (50)
- fiddle (48)
-
fiddle
/ import (48) - objspace (12)
クラス
-
Fiddle
:: CStruct (12) -
Fiddle
:: Pointer (12)
モジュール
- Fiddle (36)
-
Fiddle
:: Importer (36) - GC (48)
- ObjectSpace (12)
- Process (2)
キーワード
-
Data
_ Wrap _ Struct (12) -
NEWS for Ruby 2
. 1 . 0 (12) -
NEWS for Ruby 2
. 2 . 0 (11) - OPTS (12)
-
create
_ value (12) - free (12)
-
memsize
_ of _ all (12) - realloc (12)
-
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 4 feature (12) -
ruby
_ xfree (12) -
ruby
_ xmalloc (12) - stat (24)
- stress= (12)
- struct (12)
- value (12)
- warmup (2)
検索結果
先頭5件
-
void * ruby
_ xmalloc(long size) (32216.0) -
引数と返り値は malloc() と同じ。 ただしメモリ割り当てに失敗したときは GC を行いそれでもだめなときは NoMemoryError を raise する。 つまりこの関数が返り値を返したときは常に割り当ては成功している。
...引数と返り値は malloc() と同じ。
ただしメモリ割り当てに失敗したときは
GC を行いそれでもだめなときは NoMemoryError を raise する。
つまりこの関数が返り値を返したときは常に割り当ては成功している。... -
void ruby
_ xfree(void *x) (26116.0) -
以前 malloc/calloc/realloc して free していないポインタ x を 開放します。ruby のシグナル機構とコンフリクトしません。
...以前 malloc/calloc/realloc して free していないポインタ x を
開放します。ruby のシグナル機構とコンフリクトしません。... -
Fiddle
:: CStruct . malloc -> Fiddle :: CStruct (21207.0) -
構造体のためのメモリを確保し、Fiddle::CStruct の(子孫クラスの) オブジェクトで返します。
...構造体のためのメモリを確保し、Fiddle::CStruct の(子孫クラスの)
オブジェクトで返します。
C における
return (struct foo*)malloc(sizeof(struct foo));
というコードと対応していると言えます。... -
Fiddle
:: Pointer . malloc(size , free = nil) -> Fiddle :: Pointer (21201.0) -
与えられた長さ size のメモリ領域を確保し、それを表す Pointer オブジェクトを生成して返します。
...リ領域を確保し、それを表す Pointer オブジェクトを生成して返します。
@param size 確保したいメモリ領域のサイズを整数で指定します。
@param free GC 時に呼ばれる Pointer オブジェクトの free 関数を
Fiddle::Function オブジェ... -
Fiddle
. # malloc(size) -> Integer (18201.0) -
size バイトのメモリ領域を確保し、その領域を指す整数を返します。
...領域を確保し、その領域を指す整数を返します。
メモリを確保できなかった場合、例外 NoMemoryError が発生するか、あるいは ruby インタプリタが強制終了します。
@param size 必要なメモリ領域のサイズを整数で指定します。... -
Fiddle
. # free(addr) -> nil (6118.0) -
指定された addr が指すメモリ領域を開放します。
...指定された addr が指すメモリ領域を開放します。
必ず Fiddle.#malloc が返した整数を addr に与えなければいけません。
そうでない場合、ruby インタプリタが異常終了します。
@param addr Fiddle.#malloc で確保されたメモリ領域を指......す整数を指定します。
例:
require 'fiddle'
addr = Fiddle.malloc(10)
p addr #=> 136942800
Fiddle.free(addr)... -
Fiddle
:: Importer # create _ value(type , val = nil) -> Fiddle :: CStruct (6116.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... -
Fiddle
. # realloc(addr , size) -> Integer (6112.0) -
addr で指定したメモリ領域を size バイトにリサイズし、その領域を指す整数 を返します。
...addr で指定したメモリ領域を size バイトにリサイズし、その領域を指す整数
を返します。
addr には Fiddle.#malloc で確保したメモリ領域を渡します。
また、リサイズの結果、返り値が addr と異なる場合があります。
@param addr......リサイズしたいメモリアドレス整数
@param size リサイズ後のバイト数
@see Fiddle.#malloc... -
Fiddle
:: Importer # struct(signature) -> Class (6112.0) -
C の構造体型に対応する Ruby のクラスを構築して返します。
...C の構造体型に対応する Ruby のクラスを構築して返します。
構造体の各要素は C と似せた表記ができます。そしてそれを
配列で signature に渡してデータを定義します。例えば C における
struct timeval {
long tv_sec;
long tv_u......応して
Timeval = struct(["long tv_sec", "long tv_usec"])
として構造体に対応するクラスを生成します。
このメソッドが返すクラスには以下のメソッドが定義されています
* クラスメソッド malloc
* initialize
* to_ptr
* to_i
* 構造体......は Fiddle::CStruct を継承しています。詳しくは
そちらを参照してください。
@param signature 構造体の各要素を文字列で表現したものの配列
require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "libc.so.6"
extern "int gettimeof...