class DL::CFunc
クラスの継承リスト: DL::CFunc < Object < Kernel < BasicObject
要約
ダイナミックライブラリの関数を表すクラスです。通常、このクラスを直接使わずに ラッパークラスである DL::Function を使います。
特異メソッド
new(addr, type = DL::TYPE_VOID, name = '', calltype = :cdecl)
-
指定された addr が指すライブラリ関数を表す CFunc オブジェクトを生成して返します。
- [PARAM] addr:
- DL::Handle#sym が返した整数を指定します。
- [PARAM] type:
- 関数の返り値の型を DL で定義された定数で指定します。
- [PARAM] name:
- 関数の名前を文字列で指定します。
- [PARAM] calltype:
- 関数の呼出規約を Symbol オブジェクトで指定します。サポートされている 規約は :cdecl と :stdcall です。
[SEE_ALSO] http://ja.wikipedia.org/wiki/%E5%91%BC%E5%87%BA%E8%A6%8F%E7%B4%84
インスタンスメソッド
self[arry] -> Integer | Float | nil
call(arry) -> Integer | Float | nil
-
[TODO]
自身が表すライブラリ関数を呼び出します。
自身の返り値の型(DL::CFunc#ctype)が double か float である場合は、返り値を Ruby の Float オブジェクトに変換して返します。 返り値の型が void の場合は nil を返します。それ以外の場合は整数として返します。
- [PARAM] arry:
- 関数の引数を整数の配列で指定します。
[SEE_ALSO] Array#pack, String#unpack
calltype -> Symbol
calltype=(sym)
-
自身の呼出規約を表すアクセサです。 サポートされている規約は :cdecl と :stdcall です。
- [PARAM] sym:
- 自身の呼出規約を Symbol オブジェクトで指定します。
[SEE_ALSO] http://ja.wikipedia.org/wiki/%E5%91%BC%E5%87%BA%E8%A6%8F%E7%B4%84
ctype -> Integer
ctype=(type)
-
自身の返り値の型を表すアクセサです。
- [PARAM] type:
- 自身の返り値の型を DL に定義された定数で指定します。
inspect -> String
to_s -> String
-
自身の情報を人間に読みやすい文字列にして返します。
name -> String
-
自身の名前を文字列で返します。
ptr -> Integer
ptr=(addr)
-
自身が表すライブラリ関数のアドレスを表すアクセサです。
- [PARAM] addr:
- ライブラリ関数のアドレスを整数で指定します。
to_i -> Integer
-
自身が表すライブラリ関数のアドレスを返します。 DL::CFunc#ptr と同じです。
モジュール関数
last_error -> Integer
-
[TODO]
最後に関数が呼び出されたときの errno を整数で返します。 この値はスレッドローカルです。
[SEE_ALSO] errno(3)