るりまサーチ

最速Rubyリファレンスマニュアル検索!
60件ヒット [1-60件を表示] (0.024秒)
トップページ > クエリ:TYPE_VOID[x]

別のキーワード

  1. rexml/document node_type
  2. win32ole ole_type
  3. rss type=
  4. rss type
  5. net/imap media_type

種類

ライブラリ

クラス

モジュール

キーワード

検索結果

Fiddle::TYPE_VOID -> Integer (18101.0)

C の void を表す定数。

C の void を表す定数。

Fiddle::TYPE_VOIDP -> Integer (6100.0)

C の void* 型を表す定数。

C の void* 型を表す定数。

Fiddle::Closure (6.0)

コールバック関数を表すクラスです。

...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 を使うことで、...
...使うために 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::Closure::BlockCaller を使うほう...

Fiddle::Closure::BlockCaller (6.0)

Ruby のブロックをラップしたコールバック関数を表すクラスです。

...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|
# qsort の比較関数は 型が int(*)(void*, void*)...

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

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

...
定数が利用できます。「-TYPE_INT」 のように符号を反転させると unsigned を
意味します。
* Fiddle::TYPE_VOID
* Fiddle::TYPE_VOIDP
* Fiddle::TYPE_CHAR
* Fiddle::TYPE_SHORT
* Fiddle::TYPE_INT
* Fiddle::TYPE_LONG
* Fiddle::TYPE_LONG_LONG
* Fiddle::TYPE_F...
...らかを指定します。

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 fun...

絞り込み条件を変える