8件ヒット
[1-8件を表示]
(0.009秒)
検索結果
-
Fiddle
:: Closure (10.0) -
コールバック関数を表すクラスです。
...ドを定義し、
new でオブジェクトを生成することで利用します。
require 'fiddle'
include Fiddle # TYPE_* を使うために include する
class Compare < Fiddle::Closure
# qsort の比較関数は 型が int(*)(void*, void*) であるため、
# このメ.......so.6")
qs = Fiddle::Function.new(libc["qsort"],
[TYPE_VOIDP, TYPE_INT, TYPE_INT, TYPE_VOIDP],
TYPE_VOID)
s = "7x0cba(Uq)"
qs.call(s, s.size, 1, Compare.new(TYPE_INT, [TYPE_VOIDP, TYPE_VOIDP]))
p s # => "()07Uabcqx"
Class.new を使......'fiddle'
include Fiddle # TYPE_* を使うために include する
compare = Class.new(Fiddle::Closure){
def call(x, y)
x.to_s(1) <=> y
end
}.new(TYPE_INT, [TYPE_VOIDP, TYPE_VOIDP])
単に Ruby のブロックを C の(コールバック)関数に変換したい場合は
Fiddle:... -
Fiddle
:: Closure :: BlockCaller (10.0) -
Ruby のブロックをラップしたコールバック関数を表すクラスです。
...ラスです。
require 'fiddle'
include Fiddle
libc = Fiddle.dlopen("/lib/libc.so.6")
qs = Fiddle::Function.new(libc["qsort"],
[TYPE_VOIDP, TYPE_INT, TYPE_INT, TYPE_VOIDP],
TYPE_VOID)
compare = Fiddle::Closure::BlockCaller.new(TYPE... -
Fiddle
:: DLError (10.0) -
Fiddle のエラー全般を表すクラス。
...Fiddle のエラー全般を表すクラス。... -
Fiddle
:: Function (10.0) -
C の関数を表すクラスです。
C の関数を表すクラスです。 -
Fiddle
:: Handle (10.0) -
オープンされたダイナミックライブラリを表すクラスです。
オープンされたダイナミックライブラリを表すクラスです。
dlopen(3) が返すハンドラーのラッパーです。 -
Fiddle
:: Pointer (10.0) -
メモリ領域を表すクラスです。C 言語のポインタに相当します。
メモリ領域を表すクラスです。C 言語のポインタに相当します。
2.2.0 で削除された dl の DL::CPtr に対応します。
DL::CPtrとほぼ同じインターフェースを持ちます。 -
Fiddle
:: CStruct (7.0) -
C の構造体を表すクラスです。
...C の構造体を表すクラスです。
このクラスは直接は使わず、Fiddle::Importer#struct を用いて
このクラスを継承したクラスを生成し、それを利用します。
Fiddle::Importer#struct が生成するクラスには
構造体の各メンバへのアクセサ......ます。
例えば
require 'fiddle/import'
include Fiddle::Importer
S = struct(["long foo", "void* bar"])
とすると、 S#foo, S#foo= というアクセサが Integer とやりとり
するように定義され、 S#bar, S#bar= というアクセサが Fiddle::Pointer
でやりとりする......うに定義されます。
このクラスは実際にはこのドキュメントに書かれているメソッドを保持していません。
Fiddle::Importer#struct によって動的にメソッドが定義されます。
このドキュメントは説明の便宜のためだと考えてく... -
Fiddle
:: CUnion (7.0) -
C の共用体を表すクラスです。
...C の共用体を表すクラスです。
このクラスは直接は使わず、Fiddle::Importer#union を用いて
このクラスを継承したクラスを生成し、それを利用します。
Fiddle::CStruct と同様の構造をしています。詳しくはそちらを見てください...