190件ヒット
[1-100件を表示]
(0.014秒)
クラス
-
Fiddle
:: Closure (12) -
Fiddle
:: Closure :: BlockCaller (12) -
Fiddle
:: Function (36) -
Fiddle
:: Handle (24)
モジュール
- Fiddle (24)
キーワード
- BlockCaller (12)
- Closure (12)
-
NEWS for Ruby 2
. 1 . 0 (12) -
NEWS for Ruby 2
. 2 . 0 (11) -
NEWS for Ruby 2
. 3 . 0 (10) -
NEWS for Ruby 2
. 6 . 0 (7) -
Profiler
_ _ (6) - STDCALL (12)
-
last
_ error (12) - new (60)
-
ruby 1
. 8 . 4 feature (12) -
win32
_ last _ error (12)
検索結果
先頭5件
- Fiddle
:: Function # call(*args) -> Integer|DL :: CPtr|nil - Fiddle
:: Function :: STDCALL -> Integer - Fiddle
:: Closure :: BlockCaller - Fiddle
:: Function . new(ptr , args , ret _ type , abi=Fiddle :: Function :: DEFAULT , name: nil) -> Fiddle :: Function - Fiddle
:: Closure :: BlockCaller . new(ret , args , abi=Fiddle :: Function :: DEFAULT) { . . . } -> Fiddle :: Closure :: BlockCaller
-
Fiddle
:: Function # call(*args) -> Integer|DL :: CPtr|nil (21113.0) -
関数を呼び出します。
...関数を呼び出します。
Fiddle::Function.new で指定した引数と返り値の型に基いて
Ruby のオブジェクトを適切に C のデータに変換して C の関数を呼び出し、
その返り値を Ruby のオブジェクトに変換して返します。
引数の変換は......。
: void
nil を返します
: (unsigned) char/short/int/long/long long
C の整数を Ruby の整数に変換します
: void*(つまり任意のポインタ型)
C のポインタを保持した Fiddle::Pointer を返します。
@param args 関数の引数
@see Fiddle::Function.new... -
Fiddle
:: Function :: STDCALL -> Integer (9106.0) -
Windows の stdcall 呼出規約を表します。
...Windows の stdcall 呼出規約を表します。
stdcall 呼出規約を持つ環境でのみ定義されます。
@see Fiddle::Function.new... -
Fiddle
:: Closure :: BlockCaller (6012.0) -
Ruby のブロックをラップしたコールバック関数を表すクラスです。
...dle
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_INT, [TYPE_VOIDP, TYPE_VOIDP]){|x, y|
# qsor......は DL::CPtr オブジェクトが渡される。
# そのポインタが指す先は比較している文字なので、
# DL::CPtr#to_s で1文字の文字列に変換している
x.to_s(1) <=> y.to_s(1)
}
s = "7x0cba(Uq)"
qs.call(s, s.size, 1, compare)
p s # => "()07Uabcqx"... -
Fiddle
:: Function . new(ptr , args , ret _ type , abi=Fiddle :: Function :: DEFAULT , name: nil) -> Fiddle :: Function (3242.0) -
ptr (関数ポインタ)から Fiddle::Function オブジェクトを 生成します。
...ptr (関数ポインタ)から Fiddle::Function オブジェクトを
生成します。
ptr には Fiddle::Handle から Fiddle::Handle#sym などで取りだした
関数ポインタ(を表す整数)、もしくは関数を指している
Fiddle::Pointer を渡します。
args、ret_type で関......E_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_VOIDP],......Fiddle::TYPE_INT, name: "strlen")
p func.ptr == h.sym("strlen") # => true
p func.call("abc") # => 3
p func.name # => "strlen"
@param ptr C の関数を指す Fiddle::Pointer オブジェクトもしくは
アドレスを表す整数
@param args 引数の型を表す配列
@p... -
Fiddle
:: Closure :: BlockCaller . new(ret , args , abi=Fiddle :: Function :: DEFAULT) { . . . } -> Fiddle :: Closure :: BlockCaller (3207.0) -
Ruby のブロックを呼び出す Fiddle::Closure オブジェクトを返します。
...す Fiddle::Closure オブジェクトを返します。
args、ret で関数の引数と返り値の型を指定します。
指定は Fiddle::Function.new と同様なので、そちら
を参照してください。
@param ret 返り値の型
@param args 引数の型を表す配列
@param abi... -
Fiddle
:: Closure . new(ret , args , abi=Fiddle :: Function :: DEFAULT) -> Fiddle :: Closure (123.0) -
そのクラスの call メソッドを呼びだすような Fiddle::Closure オブジェクトを返します。
...そのクラスの call メソッドを呼びだすような
Fiddle::Closure オブジェクトを返します。
args、ret で関数の引数と返り値の型を指定します。
指定は Fiddle::Function.new と同様なので、そちら
を参照してください。
@param ret 返り値... -
NEWS for Ruby 2
. 2 . 0 (108.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...2以前は読み込みモードで開いていました。
=== 標準添付ライブラリの更新 (優れたもののみ)
* continuation
* callcc は廃止されました。Fiberを使ってください。
* digest
* Kernel.#Digest はスレッドセーフになりました。......: internal function. no replacement.
* struct rb_blocking_region_buffer : internal type. no replacement.
* rb_thread_blocking_region_begin -> rb_thread_call_without_gvl family
* rb_thread_blocking_region_end -> rb_thread_call_without_gvl family
* TRAP_BEG -> rb_thread_call_without_g......_thread_call_without_gvl family
* rb_thread_select -> rb_thread_fd_select
* struct rb_exec_arg : internal type. no replacement.
* rb_exec : internal function. no replacement.
* rb_exec_arg_addopt : internal function. no replacement.
* rb_exec_arg_fixup : internal function. no rep... -
ruby 1
. 8 . 4 feature (54.0) -
ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。
...)
* ((<ruby 1.8.4 feature/mkmf: find_executable() [compat]>))
* ((<ruby 1.8.4 feature/拡張ライブラリAPI>))
* ((<ruby 1.8.4 feature/rb_funcall2() [bug]>))
* ((<ruby 1.8.4 feature/rb_respond_to() [change]>))
* ((<ruby 1.8.4 feature/rb_obj_respond_to() [new]>))
* ((<ruby 1.8.4 feature/......cted '(', expecting $end
#Tue Nov 1 14:20:11 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
#
# * eval.c (rb_call_super): should call method_missing if super is
# called from Kernel method.
#
# * eval.c (exec_under): frame during eval should preserve external
# informat......22:32:13 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
#
# * eval.c (set_trace_func): add rb_secure(4) to prevent adding
# tracing function.
$SAFE=4でtrace_funcの追加を禁止。
: printf [bug]
#Wed Dec 7 15:31:35 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
#
# *... -
Fiddle
:: Closure (36.0) -
コールバック関数を表すクラスです。
...ラスです。
Ruby のメソッド(call)を C の関数ポインタとして表現するためのクラスです。
FFI の closure の wrapper です。
利用法としては、このクラスのサブクラスを作って
そのサブクラスに call メソッドを定義し、
new でオブ......def call(x, y)
x.to_s(1) <=> y.to_s(1)
end
end
libc = DL.dlopen("/lib/libc.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,......clude する
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::Closure::BlockCaller を使うほうが簡単です。...