456件ヒット
[1-100件を表示]
(0.134秒)
クラス
-
Fiddle
:: Closure :: BlockCaller (12) -
Fiddle
:: Function (48) -
Fiddle
:: Handle (36) -
Fiddle
:: Pointer (228)
モジュール
-
Fiddle
:: Importer (132)
キーワード
- + (12)
- +@ (12)
- - (12)
- -@ (12)
- <=> (12)
- == (12)
- [] (48)
- []= (24)
- abi (12)
- bind (12)
- call (24)
- close (12)
-
create
_ value (12) - dlload (12)
- eql? (12)
- extern (12)
- free= (12)
-
import
_ symbol (12) - name (12)
- ptr (12)
- ref (12)
- size= (12)
- sizeof (12)
- struct (12)
- sym (12)
-
to
_ i (12) -
to
_ s (24) -
to
_ str (24) - typealias (12)
- union (12)
- value (12)
検索結果
先頭5件
-
Fiddle
:: Pointer # ptr -> Fiddle :: Pointer (15303.0) -
自身の指す値を Pointer にして返します。
...Pointer にして返します。
自身の指す値はポインタであると仮定します。
C 言語におけるポインタのポインタに対する間接参照 *p と同じです。
この返り値には、free 関数がセットされず、size は 0 とされます。
例:
require '......fiddle'
s = 'abc'
cptr = Fiddle::Pointer[s]
cref = cptr.ref
p cref.to_s(4).unpack('l*')[0] #=> 136121648
p cptr.to_i #=> 136121648
p cref.ptr.to_s #=> "abc"... -
Fiddle
:: Importer # extern(signature , *opts) -> Fiddle :: Function (15220.0) -
Fiddle::Importer#dlload で取り込んだライブラリから C の関数をインポートします。
...
Fiddle::Importer#dlload で取り込んだライブラリから
C の関数をインポートします。
インポートした関数はそのモジュールにモジュール関数として定義されます。
signature で関数の名前とシネグチャを指定します。例えば
"int str......ar*, char*)" のように指定することができます。
opts には :stdcall もしくは :cdecl を渡すことができ、
呼出規約を明示することができます。
@return インポートした関数を表す Fiddle::Function オブジェクトを返します。
@param signatur......e 関数の名前とシネグチャ
@param opts オプション
例
require 'fiddle/import'
module M
extern Fiddle::Importer
dlload "libc.so.6"
extern "int strcmp(char*, char*)"
end
M.strcmp("abc", "abc") # => 0
M.strcmp("abc", "abd") # => -1... -
Fiddle
:: Importer # create _ value(type , val = nil) -> Fiddle :: CStruct (15214.0) -
型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。
...型が type で要素名が "value" であるような構造体を
定義(Fiddle::Importer#struct)し、
その構造体のメモリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。
type は "int", "void*" といった文字列......確保された構造体に
その値を代入します。
@param type 型を表す文字列
@param val 構造体に確保される初期値
例
require 'fiddle/import'
module M
extend Fiddle::Importer
end
v = M.value("int", 32)
p v.value # => 32
v.value = 48
p v.value # =>... -
Fiddle
:: Importer # import _ symbol(name) -> Fiddle :: Pointer (15208.0) -
取り込んだライブラリからシンボルをインポートします。
...取り込んだライブラリからシンボルをインポートします。
返り値はシンボルがロードされたメモリのアドレスを持つ Fiddle::Pointer
オブジェクトを返します。
@param name シンボル名(文字列)... -
Fiddle
:: Pointer # +@ -> Fiddle :: Pointer (12303.0) -
自身の指す値を Pointer にして返します。
...Pointer にして返します。
自身の指す値はポインタであると仮定します。
C 言語におけるポインタのポインタに対する間接参照 *p と同じです。
この返り値には、free 関数がセットされず、size は 0 とされます。
例:
require '......fiddle'
s = 'abc'
cptr = Fiddle::Pointer[s]
cref = cptr.ref
p cref.to_s(4).unpack('l*')[0] #=> 136121648
p cptr.to_i #=> 136121648
p cref.ptr.to_s #=> "abc"... -
Fiddle
:: Pointer # -@ -> Fiddle :: Pointer (12303.0) -
自身を指す Pointer オブジェクトを返します。 C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。
...nter オブジェクトを返します。
C 言語におけるポインタへのアドレス演算子の適用 &p と同じです。
この返り値には、free 関数がセットされず、size は 0 とされます。
例:
require 'fiddle'
s = 'abc'
cptr = Fiddle::Pointer[s]
cref = cptr.......ref
p cref.to_s(4).unpack('l*')[0] #=> 136121648
p cptr.to_i #=> 136121648
p cref.ptr.to_s #=> "abc"... -
Fiddle
:: Pointer # to _ str -> String (12209.0) -
自身が指す領域から長さ len の文字列を複製して返します。
...自身が指す領域から長さ len の文字列を複製して返します。
len を省略した場合は、self.size をその代わりに使います。
@param len 文字列の長さを整数で指定します。... -
Fiddle
:: Pointer # to _ str(len) -> String (12209.0) -
自身が指す領域から長さ len の文字列を複製して返します。
...自身が指す領域から長さ len の文字列を複製して返します。
len を省略した場合は、self.size をその代わりに使います。
@param len 文字列の長さを整数で指定します。... -
Fiddle
:: Importer # struct(signature) -> Class (12208.0) -
C の構造体型に対応する Ruby のクラスを構築して返します。
...型に対応する Ruby のクラスを構築して返します。
構造体の各要素は C と似せた表記ができます。そしてそれを
配列で signature に渡してデータを定義します。例えば C における
struct timeval {
long tv_sec;
long tv_usec;
};
と......対応して
Timeval = struct(["long tv_sec", "long tv_usec"])
として構造体に対応するクラスを生成します。
このメソッドが返すクラスには以下のメソッドが定義されています
* クラスメソッド malloc
* initialize
* to_ptr
* to_i
* 構造......は Fiddle::CStruct を継承しています。詳しくは
そちらを参照してください。
@param signature 構造体の各要素を文字列で表現したものの配列
require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "libc.so.6"
extern "int gettimeof...