fiddle の名前空間をなすモジュールです。
UNIX の dlopen(3) や Windows の LoadLibrary() などのダイナミックリンカへの低レベルなインターフェースを提供するモジュールです。
last_error -> Integer
[permalink][rdoc]最後に Fiddle::Function#call で C の関数を呼び出した結果設定された errno を返します。
この値はスレッドローカルです。
last_error=(errno)
[permalink][rdoc]Fiddle.last_error で返される値を設定します。
errno は fiddle が設定するのでユーザはこのメソッドを使わないでください。
win32_last_error -> Integer
[permalink][rdoc]最後に Fiddle::Function#call で C の関数を呼び出した結果設定された errno を返します。
このメソッドは Windows 環境でのみ定義されています。
この値はスレッドローカルです。
win32_last_error=(errno)
[permalink][rdoc]Fiddle.win32_last_error で返される値を設定します。
errno は fiddle が設定するのでユーザはこのメソッドを使わないでください。
このメソッドは Windows 環境でのみ定義されています。
dlopen(lib) -> Fiddle::Handle
[permalink][rdoc]ダイナミックライブラリ lib をロードし、 Fiddle::Handle として返します。
Fiddle::Handle.new(lib) と等価です。
dlunwrap(addr) -> object
[permalink][rdoc]指定されたアドレスの Ruby オブジェクトを返します。
例:
require 'fiddle' s = 'abc' p addr = Fiddle.dlwrap(s) #=> 136122440 p Fiddle.dlunwrap(addr) #=> "abc"
dlwrap(obj) -> Integer
[permalink][rdoc]指定されたオブジェクト obj のアドレスを表す整数を返します。
例:
require 'fiddle' s = 'abc' p addr = Fiddle.dlwrap(s) #=> 136122440 p Fiddle.dlunwrap(addr) #=> "abc"
free(addr) -> nil
[permalink][rdoc]指定された addr が指すメモリ領域を開放します。
必ず Fiddle.#malloc が返した整数を addr に与えなければいけません。そうでない場合、ruby インタプリタが異常終了します。
例:
require 'fiddle' addr = Fiddle.malloc(10) p addr #=> 136942800 Fiddle.free(addr)
malloc(size) -> Integer
[permalink][rdoc]size バイトのメモリ領域を確保し、その領域を指す整数を返します。
メモリを確保できなかった場合、例外 NoMemoryError が発生するか、あるいは ruby インタプリタが強制終了します。
realloc(addr, size) -> Integer
[permalink][rdoc]addr で指定したメモリ領域を size バイトにリサイズし、その領域を指す整数を返します。
addr には Fiddle.#malloc で確保したメモリ領域を渡します。また、リサイズの結果、返り値が addr と異なる場合があります。
[SEE_ALSO] Fiddle.#malloc
ALIGN_CHAR -> Integer
[permalink][rdoc]C の構造体における char のアライメントの値。
ALIGN_DOUBLE -> Integer
[permalink][rdoc]C の構造体における double のアライメントの値。
ALIGN_FLOAT -> Integer
[permalink][rdoc]C の構造体における float のアライメントの値。
ALIGN_INT -> Integer
[permalink][rdoc]C の構造体における int のアライメントの値。
ALIGN_INTPTR_T -> Integer
[permalink][rdoc]C の構造体における intptr_t のアライメントの値。
ALIGN_LONG -> Integer
[permalink][rdoc]C の構造体における long のアライメントの値。
ALIGN_LONG_LONG -> Integer
[permalink][rdoc]C の構造体における long long のアライメントの値。
ALIGN_PTRDIFF_T -> Integer
[permalink][rdoc]C の構造体における ptrdiff_t のアライメントの値。
ALIGN_SHORT -> Integer
[permalink][rdoc]C の構造体における short のアライメントの値。
ALIGN_SIZE_T -> Integer
[permalink][rdoc]C の構造体における size_t のアライメントの値。
ALIGN_SSIZE_T -> Integer
[permalink][rdoc]C の構造体における ssize_t のアライメントの値。
ALIGN_UINTPTR_T -> Integer
[permalink][rdoc]C の構造体における uintptr_t のアライメントの値。
ALIGN_VOIDP -> Integer
[permalink][rdoc]C の構造体における void* のアライメントの値。
BUILD_RUBY_PLATFORM -> String
[permalink][rdoc]ビルドに用いた ruby のプラットフォームを表す文字列。
通常、Object::RUBY_PLATFORM と同じ。
NULL -> DL::CPtr
[permalink][rdoc]C の NULL ポインタ
RUBY_FREE -> Integer
[permalink][rdoc]ruby_xfree の関数ポインタのアドレスの値。
SIZEOF_CHAR -> Integer
[permalink][rdoc]Cでの sizeof(char) の値
SIZEOF_DOUBLE -> Integer
[permalink][rdoc]Cでの sizeof(double) の値
SIZEOF_FLOAT -> Integer
[permalink][rdoc]Cでの sizeof(float) の値
SIZEOF_INT -> Integer
[permalink][rdoc]Cでの sizeof(int) の値
SIZEOF_INTPTR_T -> Integer
[permalink][rdoc]Cでの sizeof(intptr_t) の値
SIZEOF_LONG -> Integer
[permalink][rdoc]Cでの sizeof(long) の値
SIZEOF_LONG_LONG -> Integer
[permalink][rdoc]Cでの sizeof(long long) の値
SIZEOF_PTRDIFF_T -> Integer
[permalink][rdoc]Cでの sizeof(ptrdiff_t) の値
SIZEOF_SHORT -> Integer
[permalink][rdoc]Cでの sizeof(short) の値
SIZEOF_SIZE_T -> Integer
[permalink][rdoc]Cでの sizeof(size_t) の値
SIZEOF_SSIZE_T -> Integer
[permalink][rdoc]Cでの sizeof(ssize_t) の値
SIZEOF_UINTPTR_T -> Integer
[permalink][rdoc]Cでの sizeof(uintptr_t) の値
SIZEOF_VOIDP -> Integer
[permalink][rdoc]Cでの sizeof(void*) の値
TYPE_CHAR -> Integer
[permalink][rdoc]C の char 型を表す定数。
unsigned char を表すには符号を逆転させます。
TYPE_DOUBLE -> Integer
[permalink][rdoc]C の double 型を表す定数。
TYPE_FLOAT -> Integer
[permalink][rdoc]C の float 型を表す定数。
TYPE_INT -> Integer
[permalink][rdoc]C の int 型を表す定数。
unsigned int を表すには符号を逆転させます。
TYPE_INTPTR_T -> Integer
[permalink][rdoc]C の intptr_t 型を表す定数。
TYPE_LONG -> Integer
[permalink][rdoc]C の long 型を表す定数。
unsigned long を表すには符号を逆転させます。
TYPE_LONG_LONG -> Integer
[permalink][rdoc]C の long long 型を表す定数。
unsigned long long を表すには符号を逆転させます。
TYPE_PTRDIFF_T -> Integer
[permalink][rdoc]C の ptrdiff_t 型を表す定数。
TYPE_SHORT -> Integer
[permalink][rdoc]C の short 型を表す定数。
unsigned short を表すには符号を逆転させます。
TYPE_SIZE_T -> Integer
[permalink][rdoc]C の size_t 型を表す定数。
TYPE_SSIZE_T -> Integer
[permalink][rdoc]C の ssize_t 型を表す定数。
TYPE_UINTPTR_T -> Integer
[permalink][rdoc]C の uintptr_t 型を表す定数。
TYPE_VOID -> Integer
[permalink][rdoc]C の void を表す定数。
TYPE_VOIDP -> Integer
[permalink][rdoc]C の void* 型を表す定数。
WINDOWS -> bool
[permalink][rdoc]Windows 上ならば真です。