Type
最終更新:
tmtbnc
-
view
FFI::Type
- FFI::Type
- FFI::ArrayType
- FFI::Enum
- FFI::Builtin
- FFI::NativeType
Methods
| initialize() | |
| size | |
| alignment | |
| inspect |
FFI
| FFI::TypeDefs | |
| FFI::SizeTypes | |
| FFI.add_typedef(type, name) | |
| FFI.find_type(name, type_map=nil) | |
| FFI.size_to_type(size) | |
| FFI.type_size(type) |
FFI::SizeTypes
example:
{#<FFI::Type::Builtin:INT8 size=1 alignment=1> => 1,
#<FFI::Type::Builtin:UINT8 size=1 alignment=1> => 1,
#<FFI::Type::Builtin:INT16 size=2 alignment=2> => 2,
#<FFI::Type::Builtin:UINT16 size=2 alignment=2> => 2,
#<FFI::Type::Builtin:INT32 size=4 alignment=4> => 4,
#<FFI::Type::Builtin:UINT32 size=4 alignment=4> => 4,
#<FFI::Type::Builtin:INT64 size=8 alignment=8> => 8,
#<FFI::Type::Builtin:UINT64 size=8 alignment=8> => 8,
#<FFI::Type::Builtin:LONG size=4 alignment=4> => 4,
#<FFI::Type::Builtin:ULONG size=4 alignment=4> => 4,
#<FFI::Type::Builtin:FLOAT32 size=4 alignment=4> => 4,
#<FFI::Type::Builtin:FLOAT64 size=8 alignment=8> => 8,
#<FFI::Type::Builtin:POINTER size=4 alignment=4> => 4}
FFI::TypeDefs
example:
{ :int8 => #<FFI::Type::Builtin:INT8 size=1 alignment=1>,
:uint8 => #<FFI::Type::Builtin:UINT8 size=1 alignment=1>,
:int16 => #<FFI::Type::Builtin:INT16 size=2 alignment=2>,
:uint16 => #<FFI::Type::Builtin:UINT16 size=2 alignment=2>,
:int32 => #<FFI::Type::Builtin:INT32 size=4 alignment=4>,
:uint32 => #<FFI::Type::Builtin:UINT32 size=4 alignment=4>,
:int64 => #<FFI::Type::Builtin:INT64 size=8 alignment=8>,
:uint64 => #<FFI::Type::Builtin:UINT64 size=8 alignment=8>,
:bool => #<FFI::Type::Builtin:BOOL size=4 alignment=4>,
:char => #<FFI::Type::Builtin:INT8 size=1 alignment=1>,
:uchar => #<FFI::Type::Builtin:UINT8 size=1 alignment=1>,
:short => #<FFI::Type::Builtin:INT16 size=2 alignment=2>,
:ushort => #<FFI::Type::Builtin:UINT16 size=2 alignment=2>,
:int => #<FFI::Type::Builtin:INT32 size=4 alignment=4>,
:uint => #<FFI::Type::Builtin:UINT32 size=4 alignment=4>,
:long => #<FFI::Type::Builtin:LONG size=4 alignment=4>,
:ulong => #<FFI::Type::Builtin:ULONG size=4 alignment=4>,
:long_long => #<FFI::Type::Builtin:INT64 size=8 alignment=8>,
:ulong_long => #<FFI::Type::Builtin:UINT64 size=8 alignment=8>,
:float => #<FFI::Type::Builtin:FLOAT32 size=4 alignment=4>,
:double => #<FFI::Type::Builtin:FLOAT64 size=8 alignment=8>,
:void => #<FFI::Type::Builtin:VOID size=1 alignment=1>,
:pointer => #<FFI::Type::Builtin:POINTER size=4 alignment=4>,
:enum => #<FFI::Type::Builtin:ENUM size=4 alignment=4>,
:string => #<FFI::Type::Builtin:STRING size=4 alignment=4>,
:varargs => #<FFI::Type::Builtin:VARARGS size=1 alignment=1>,
:char_array => #<FFI::Type::Builtin:CHAR_ARRAY size=1 alignment=1>,
:buffer_in => #<FFI::Type::Builtin:BUFFER_IN size=4 alignment=4>,
:buffer_out => #<FFI::Type::Builtin:BUFFER_OUT size=4 alignment=4>,
:buffer_inout => #<FFI::Type::Builtin:BUFFER_INOUT size=4 alignment=4>}