22件ヒット
[1-22件を表示]
(0.056秒)
別のキーワード
ライブラリ
-
fiddle
/ import (22)
検索結果
先頭2件
-
Fiddle
:: Importer # [](name) -> Fiddle :: Function|nil (202.0) -
Fiddle::Importer#extern でインポートした関数の Fiddle::Function オブジェクト を返します。
...Fiddle::Importer#extern でインポートした関数の
Fiddle::Function オブジェクト
を返します。
name という名前の関数が存在しない場合は nil を返します。
@param name 関数の名前の文字列... -
Fiddle
:: Importer # bind(signature , *opts) { . . . } -> Fiddle :: Function (125.0) -
Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。
...ールに
インポートします。
これでインポートされた関数はモジュール関数として定義されます。
また、Fiddle::Importer#[] で Fiddle::Function オブジェクトとして
取り出すことができます。
signature で関数の名前とシネグチャを......例
require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "libc.so.6"
typealias "size_t", "unsigned long"
extern "int qsort(void*, size_t, size_t, void*)"
bind("int compare(void*, void*)"){|px, py|
x = px.to_s(Fiddle::SIZEOF_INT).unpack("i!")
y......= py.to_s(Fiddle::SIZEOF_INT).unpack("i!")
x <=> y
}
end
data = [32, 180001, -13, -1, 0, 49].pack("i!*")
M.qsort(Fiddle::Pointer[data], 6, Fiddle::SIZEOF_INT, M["compare"])
p data.unpack("i!*") # => [-13, -1, 0, 32, 49, 180001]...