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>}
記事メニュー
目安箱バナー