るりまサーチ

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

別のキーワード

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

ライブラリ

モジュール

キーワード

検索結果

<< 1 2 3 ... > >>

fiddle (38144.0)

*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。

...使い方

通常は fiddle/import ライブラリを require して
Fiddle
::Importer モジュールを使用します。
dl と基本的な使いかたは良く似ています。
Fiddle
モジュール自体はプリミティブな機能しか提供していません。
Fiddle
::Importer モジュ...
...ールは以下のようにユーザが定義した
モジュールを拡張する形で使います。

require "fiddle/import"
module M
extend Fiddle::Importer
end

以後、このモジュールで dlload や extern などのメソッドが使用できるようになります。
以下...
...M::Timeval.new ではなく
M::Timeval.malloc を使用していることに注意してください。

==== コールバック

以下のようにモジュール関数 bind を使用したコールバックを定義できます。

require 'fiddle/import'
module M
extend Fiddle::Importer...
...りに使います。

=== 使い方

通常は fiddle/import ライブラリを require して
Fiddle
::Importer モジュールを使用します。
Fiddle
モジュール自体はプリミティブな機能しか提供していません。
Fiddle
::Importer モジュールは以下のようにユ...
...ーザが定義した
モジュールを拡張する形で使います。

require "fiddle/import"
module M
extend Fiddle::Importer
end

以後、このモジュールで dlload や extern などのメソッドが使用できるようになります。
以下のように dlload を使っ...

Fiddle::Function.new(ptr, args, ret_type, abi=Fiddle::Function::DEFAULT, name: nil) -> Fiddle::Function (29481.0)

ptr (関数ポインタ)から Fiddle::Function オブジェクトを 生成します。

...ptr (関数ポインタ)から Fiddle::Function オブジェクトを
生成します。

ptr には Fiddle::Handle から Fiddle::Handle#sym などで取りだした
関数ポインタ(を表す整数)、もしくは関数を指している
Fiddle
::Pointer を渡します。

args、ret_type で関...
...* Fiddle::TYPE_VOID
* Fiddle::TYPE_VOIDP
* Fiddle::TYPE_CHAR
* Fiddle::TYPE_SHORT
* Fiddle::TYPE_INT
* Fiddle::TYPE_LONG
* Fiddle::TYPE_LONG_LONG
* Fiddle::TYPE_FLOAT
* Fiddle::TYPE_DOUBLE
* Fiddle::TYPE_INTPTR_T
* Fiddle::TYPE_UINTPTR_T
* Fiddle::TYPE_PTRDIFF_T
* Fiddle::T...
...E_SIZE_T
* Fiddle::TYPE_SSIZE_T


abi で呼出規約を指定します。
* Fiddle::Function::DEFAULT
* Fiddle::Function::STDCALL
のどちらかを指定します。

require 'fiddle'

h = Fiddle::Handle.new('libc.so.6')
func = Fiddle::Function.new(h.sym("strlen"), [Fiddle::TYPE_VOID...

Fiddle::Handle.new(lib, flags=Fiddle::Handle::RTLD_LAZY|Fiddle::Handle::RTLD_GLOBAL) -> Fiddle::Handle (29474.0)

ライブラリ lib をオープンし、Handle オブジェクトとして返します。

...flags で dlopen(3) の第2引数として渡すフラグを指定できます。
Fiddle
::Handle::RTLD_LAZY、Fiddle::Handle::RTLD_NOW
のどちらか一方を指定する必要があり、
またそれに Fiddle::Handle::RTLD_GLOBAL と OR を取ることができます。
詳しい意味は man...
...@param flags フラグ
@raise Fiddle::DLError ライブラリのオープンに失敗した場合に発生します

例:

require 'fiddle'

h = Fiddle::Handle.new('libc.so.6')
i = h.sym('strlen')
func = Fiddle::Function.new(i, [Fiddle::TYPE_VOIDP], Fiddle::TYPE_INT)
p func.call("uxyz")...

Fiddle::Handle.new(lib, flags=Fiddle::Handle::RTLD_LAZY|Fiddle::Handle::RTLD_GLOBAL) {|handle| ... } -> Fiddle::Handle (29474.0)

ライブラリ lib をオープンし、Handle オブジェクトとして返します。

...flags で dlopen(3) の第2引数として渡すフラグを指定できます。
Fiddle
::Handle::RTLD_LAZY、Fiddle::Handle::RTLD_NOW
のどちらか一方を指定する必要があり、
またそれに Fiddle::Handle::RTLD_GLOBAL と OR を取ることができます。
詳しい意味は man...
...@param flags フラグ
@raise Fiddle::DLError ライブラリのオープンに失敗した場合に発生します

例:

require 'fiddle'

h = Fiddle::Handle.new('libc.so.6')
i = h.sym('strlen')
func = Fiddle::Function.new(i, [Fiddle::TYPE_VOIDP], Fiddle::TYPE_INT)
p func.call("uxyz")...

Fiddle::Closure.new(ret, args, abi=Fiddle::Function::DEFAULT) -> Fiddle::Closure (29331.0)

そのクラスの call メソッドを呼びだすような Fiddle::Closure オブジェクトを返します。

...そのクラスの call メソッドを呼びだすような
Fiddle
::Closure オブジェクトを返します。

args、ret で関数の引数と返り値の型を指定します。
指定は Fiddle::Function.new と同様なので、そちら
を参照してください。

@param ret 返り値...

絞り込み条件を変える

Fiddle::Closure::BlockCaller.new(ret, args, abi=Fiddle::Function::DEFAULT) { ... } -> Fiddle::Closure::BlockCaller (29331.0)

Ruby のブロックを呼び出す Fiddle::Closure オブジェクトを返します。

...Ruby のブロックを呼び出す Fiddle::Closure オブジェクトを返します。


args、ret で関数の引数と返り値の型を指定します。
指定は Fiddle::Function.new と同様なので、そちら
を参照してください。

@param ret 返り値の型
@param args 引数...

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

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

...トが指すアドレスを整数で指定します。

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

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

Fiddle::CStruct.new(addr) -> Fiddle::CStruct (21202.0)

addr のアドレスが指すメモリを構造体のアドレスとみなし、 構造体を作ります。

addr のアドレスが指すメモリを構造体のアドレスとみなし、
構造体を作ります。

C におけるキャストと似ています。
return (struct foo*)addr;
というコードと対応していると言えます。

@param addr アドレス

Fiddle.#dlopen(lib) -> Fiddle::Handle (17135.0)

ダイナミックライブラリ lib をロードし、 Fiddle::Handle として返します。

...ダイナミックライブラリ lib をロードし、
Fiddle
::Handle として返します。

Fiddle
::Handle.new(lib) と等価です。

@param lib ロードしたいライブラリを文字列で与えます。

@raise Fiddle::DLError dlopen(3) に失敗した時に発生します。...

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

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

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

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

絞り込み条件を変える

<< 1 2 3 ... > >>