sizeof(t) -> Integer
[permalink][rdoc][edit]-
C における sizeof(t) の値を返します。
t が文字列の場合、その文字列が表す C の型の size が返されます。例えば、sizeof("char") は 1 を返します。 sizeof("char*") は環境によって 4 や 8 といった値を返します。
Fiddle::Importer#struct で定義した構造体クラスを渡すと、その構造体のサイズを返します。 Fiddle::Importer#union で定義した共用体クラスも同様です。
t がクラスの場合、t が to_ptr というインスタンスメソッドを持っているならば t.size を返します。
それ以外の場合は Pointer[t].size を返します。
- [PARAM] t:
- サイズを計算する対象
- [EXCEPTION] 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