るりまサーチ

最速Rubyリファレンスマニュアル検索!
22件ヒット [1-22件を表示] (0.146秒)
トップページ > クエリ:-[x] > クエリ:r[x] > クエリ:int[x] > クエリ:tv_sec[x] > モジュール:Fiddle::Importer[x]

別のキーワード

  1. socket int
  2. prime int_from_prime_division
  3. _builtin to_int
  4. mkmf convertible_int
  5. option int

ライブラリ

キーワード

検索結果

Fiddle::Importer#struct(signature) -> Class (6231.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 構造体の各要素を文字列で表現したものの配列

r
equire 'fiddle/import'

module M
extend Fiddle::Importer
dlload "libc.so.6"
extern "int gettimeofday...

Fiddle::Importer#sizeof(t) -> Integer (3307.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 が知らなかった
場合に発生します

例:

r
equire '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...