36件ヒット
[1-36件を表示]
(0.017秒)
別のキーワード
種類
- インスタンスメソッド (24)
- ライブラリ (12)
ライブラリ
-
fiddle
/ import (24)
モジュール
-
Fiddle
:: Importer (24)
キーワード
- bind (12)
-
fiddle
/ types (12)
検索結果
先頭3件
-
Fiddle
:: Importer # typealias(new , orig) -> () (18107.0) -
extern や struct で利用する型の別名を定義します。
...extern や struct で利用する型の別名を定義します。
@param new 別名(文字列)
@param orig 別名を付けたい型の名前(文字列)
@see Fiddle::Importer#extern, Fiddle::Importer#sizeof,
Fiddle::Importer#struct, Fiddle::Importer#union... -
Fiddle
:: Importer # bind(signature , *opts) { . . . } -> Fiddle :: Function (24.0) -
Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。
...dle::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]... -
fiddle
/ types (18.0) -
C の型の別名を定義するライブラリです。
...include する
ことで、Fiddle::Importer#extern や Fiddle::Importer#struct で
利用できる型が増えます。内部で Fiddle::Importer#typealias を
呼び出しています。
実装の問題があるため、 Fiddle::Importer#dlload を呼びだしてから
include してください......e 'fiddle/types'
module M
extend Fiddle::Importer
dlload "libc.so.6" # include の前に dlload を呼ぶ
include Fiddle::BasicTypes
end
# uint は Fiddle::BasicTypes によって定義された型で、unsigned int の別名
p(M.sizeof("uint") == M.sizeof("unsigned int"))...