48件ヒット
[1-48件を表示]
(0.059秒)
クラス
-
Fiddle
:: CStruct (12)
モジュール
-
Fiddle
:: Importer (36)
キーワード
- bind (12)
-
import
_ symbol (12) - sizeof (12)
-
to
_ ptr (12)
検索結果
先頭4件
-
Fiddle
:: Importer # import _ symbol(name) -> Fiddle :: Pointer (9210.0) -
取り込んだライブラリからシンボルをインポートします。
...取り込んだライブラリからシンボルをインポートします。
返り値はシンボルがロードされたメモリのアドレスを持つ Fiddle::Pointer
オブジェクトを返します。
@param name シンボル名(文字列)... -
Fiddle
:: CStruct # to _ ptr -> Fiddle :: Pointer (6304.0) -
保持している構造体へのポインタを返します。
保持している構造体へのポインタを返します。 -
Fiddle
:: Importer # bind(signature , *opts) { . . . } -> Fiddle :: Function (3109.0) -
Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。
...Ruby のブロックを C の関数で wrap し、その関数をモジュールに
インポートします。
これでインポートされた関数はモジュール関数として定義されます。
また、Fiddle::Importer#[] で Fiddle::Function オブジェクトとして
取り出す......きます。
signature で関数の名前とシネグチャを指定します。例えば
"int compare(void*, void*)" のように指定します。
opts には :stdcall もしくは :cdecl を渡すことができ、
呼出規約を明示することができます。
@return インポートし......@param signature 関数の名前とシネグチャ
@param opts オプション
例
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(voi... -
Fiddle
:: Importer # sizeof(t) -> Integer (3109.0) -
C における sizeof(t) の値を返します。
...。
例えば、sizeof("char") は 1 を返します。
sizeof("char*") は環境によって 4 や 8 といった値を返します。
Fiddle::Importer#struct で定義した
構造体クラスを渡すと、その構造体のサイズを返します。
Fiddle::Importer#union で定義した共用......t がクラスの場合、t が to_ptr というインスタンスメソッドを持っている
ならば t.size を返します。
それ以外の場合は Pointer[t].size を返します。
@param t サイズを計算する対象
@raise Fiddle::DLError t として文字列を渡し、それ......ている型を Fiddle が知らなかった
場合に発生します
例:
require 'fiddle/import'
module M
extend Fiddle::Importer
Timeval = struct(["long tv_sec", "long tv_usec"])
p sizeof("char") # => 1
p sizeof("void*") # => 8
p sizeof(Timeval) # => 16
end...