ライブラリ
- ビルトイン (11)
- fiddle (1320)
-
fiddle
/ import (209) -
fiddle
/ types (22)
クラス
-
Fiddle
:: CStruct (55) -
Fiddle
:: Closure (44) -
Fiddle
:: Closure :: BlockCaller (22) -
Fiddle
:: Function (88) -
Fiddle
:: Handle (176) -
Fiddle
:: Pointer (319)
モジュール
- Fiddle (594)
-
Fiddle
:: Importer (121) - Kernel (11)
キーワード
- + (11)
- +@ (11)
- - (11)
- -@ (11)
- <=> (11)
- == (11)
-
ALIGN
_ CHAR (11) -
ALIGN
_ DOUBLE (11) -
ALIGN
_ FLOAT (11) -
ALIGN
_ INT (11) -
ALIGN
_ INTPTR _ T (11) -
ALIGN
_ LONG (11) -
ALIGN
_ LONG _ LONG (11) -
ALIGN
_ PTRDIFF _ T (11) -
ALIGN
_ SHORT (11) -
ALIGN
_ SIZE _ T (11) -
ALIGN
_ SSIZE _ T (11) -
ALIGN
_ UINTPTR _ T (11) -
ALIGN
_ VOIDP (11) -
BUILD
_ RUBY _ PLATFORM (11) - BasicTypes (11)
- BlockCaller (11)
- CStruct (11)
- CUnion (11)
- Closure (11)
- DEFAULT (22)
- DLError (11)
- Fiddle (11)
- Function (11)
- Handle (11)
- Importer (11)
-
NEWS for Ruby 2
. 2 . 0 (10) -
NEWS for Ruby 2
. 3 . 0 (9) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 3
. 0 . 0 (4) -
NEWS for Ruby 3
. 1 . 0 (3) - NEXT (11)
- NULL (11)
- Pointer (11)
-
RTLD
_ GLOBAL (11) -
RTLD
_ LAZY (11) -
RTLD
_ NOW (11) -
RUBY
_ FREE (11) -
SIZEOF
_ CHAR (11) -
SIZEOF
_ DOUBLE (11) -
SIZEOF
_ FLOAT (11) -
SIZEOF
_ INT (11) -
SIZEOF
_ INTPTR _ T (11) -
SIZEOF
_ LONG (11) -
SIZEOF
_ LONG _ LONG (11) -
SIZEOF
_ PTRDIFF _ T (11) -
SIZEOF
_ SHORT (11) -
SIZEOF
_ SIZE _ T (11) -
SIZEOF
_ SSIZE _ T (11) -
SIZEOF
_ UINTPTR _ T (11) -
SIZEOF
_ VOIDP (11) - STDCALL (11)
-
TYPE
_ CHAR (11) -
TYPE
_ DOUBLE (11) -
TYPE
_ FLOAT (11) -
TYPE
_ INT (11) -
TYPE
_ INTPTR _ T (11) -
TYPE
_ LONG (11) -
TYPE
_ LONG _ LONG (11) -
TYPE
_ PTRDIFF _ T (11) -
TYPE
_ SHORT (11) -
TYPE
_ SIZE _ T (11) -
TYPE
_ SSIZE _ T (11) -
TYPE
_ UINTPTR _ T (11) -
TYPE
_ VOID (11) -
TYPE
_ VOIDP (11) - WINDOWS (11)
- Win32Types (11)
- [] (66)
- []= (22)
- abi (11)
- args (11)
- bind (11)
- call (22)
- close (11)
-
close
_ enabled? (11) -
create
_ value (11) - ctype (11)
-
disable
_ close (11) - dlload (11)
- dlopen (11)
- dlunwrap (11)
- dlwrap (11)
-
enable
_ close (11) - eql? (11)
- extern (11)
-
fiddle
/ import (11) -
fiddle
/ types (11) - free (22)
- free= (11)
-
import
_ symbol (11) -
last
_ error (11) -
last
_ error= (11) - malloc (33)
- name (11)
- new (77)
- null? (11)
- ptr (22)
- realloc (11)
- ref (11)
- size (22)
- size= (11)
- sizeof (11)
- struct (11)
- sym (22)
- syscall (11)
-
to
_ i (55) -
to
_ int (11) -
to
_ ptr (22) -
to
_ s (22) -
to
_ str (22) -
to
_ value (11) - typealias (11)
- union (11)
- value (11)
-
win32
_ last _ error (11) -
win32
_ last _ error= (11)
検索結果
先頭5件
-
fiddle (38138.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
...使い方
通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
dl と基本的な使いかたは良く似ています。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュ......ールは以下のようにユーザが定義した
モジュールを拡張する形で使います。
require "fiddle/import"
module M
extend Fiddle::Importer
end
以後、このモジュールで dlload や extern などのメソッドが使用できるようになります。
以下......いライブラリ関数に対して extern メソッドを呼んで
ラッパーメソッドを定義します。
require "fiddle/import"
module M
extend Fiddle::Importer
dlload "libc.so.6","libm.so.6"
extern "int strlen(char*)"
end
# Note that we should not include the module......りに使います。
=== 使い方
通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下のようにユ......ーザが定義した
モジュールを拡張する形で使います。
require "fiddle/import"
module M
extend Fiddle::Importer
end
以後、このモジュールで dlload や extern などのメソッドが使用できるようになります。
以下のように dlload を使っ... -
Fiddle
. # dlopen(lib) -> Fiddle :: Handle (17129.0) -
ダイナミックライブラリ lib をロードし、 Fiddle::Handle として返します。
...ダイナミックライブラリ lib をロードし、
Fiddle::Handle として返します。
Fiddle::Handle.new(lib) と等価です。
@param lib ロードしたいライブラリを文字列で与えます。
@raise Fiddle::DLError dlopen(3) に失敗した時に発生します。... -
Fiddle
. # free(addr) -> nil (17030.0) -
指定された addr が指すメモリ領域を開放します。
... Fiddle.#malloc が返した整数を addr に与えなければいけません。
そうでない場合、ruby インタプリタが異常終了します。
@param addr Fiddle.#malloc で確保されたメモリ領域を指す整数を指定します。
例:
require 'fiddle'
addr = Fiddle.mal......loc(10)
p addr #=> 136942800
Fiddle.free(addr)... -
Fiddle
. # dlunwrap(addr) -> object (17024.0) -
指定されたアドレスの Ruby オブジェクトを返します。
...されたアドレスの Ruby オブジェクトを返します。
@param addr Fiddle.#dlwrap が返した Ruby オブジェクトのアドレス(整数)を指定します。
例:
require 'fiddle'
s = 'abc'
p addr = Fiddle.dlwrap(s) #=> 136122440
p Fiddle.dlunwrap(addr) #=> "abc"... -
Fiddle
. last _ error=(errno) (17022.0) -
Fiddle.last_error で返される値を設定します。
...Fiddle.last_error で返される値を設定します。
errno は fiddle が設定するのでユーザはこのメソッドを使わないでください。
@param errno 設定する errno... -
Fiddle
. win32 _ last _ error=(errno) (17022.0) -
Fiddle.win32_last_error で返される値を設定します。
...Fiddle.win32_last_error で返される値を設定します。
errno は fiddle が設定するのでユーザはこのメソッドを使わないでください。
このメソッドは Windows 環境でのみ定義されています。
@param errno 設定する errno... -
Fiddle
. # dlwrap(obj) -> Integer (17018.0) -
指定されたオブジェクト obj のアドレスを表す整数を返します。
...指定されたオブジェクト obj のアドレスを表す整数を返します。
@param obj Ruby のオブジェクトを指定します。
例:
require 'fiddle'
s = 'abc'
p addr = Fiddle.dlwrap(s) #=> 136122440
p Fiddle.dlunwrap(addr) #=> "abc"... -
Fiddle
. last _ error -> Integer (17016.0) -
最後に Fiddle::Function#call で C の関数を呼び出した 結果設定された errno を返します。
...最後に Fiddle::Function#call で C の関数を呼び出した
結果設定された errno を返します。
この値はスレッドローカルです。... -
Fiddle
. win32 _ last _ error -> Integer (17016.0) -
最後に Fiddle::Function#call で C の関数を呼び出した 結果設定された errno を返します。
...最後に Fiddle::Function#call で C の関数を呼び出した
結果設定された errno を返します。
このメソッドは Windows 環境でのみ定義されています。
この値はスレッドローカルです。... -
Fiddle
. # realloc(addr , size) -> Integer (17012.0) -
addr で指定したメモリ領域を size バイトにリサイズし、その領域を指す整数 を返します。
...す。
addr には Fiddle.#malloc で確保したメモリ領域を渡します。
また、リサイズの結果、返り値が addr と異なる場合があります。
@param addr リサイズしたいメモリアドレス整数
@param size リサイズ後のバイト数
@see Fiddle.#malloc...