(rontolisp) docs
← 関数

ffi:size

(ffi:size type)

外部型のサイズをバイト数で返す。C の整数型名は LP64 の幅 (:long は 8)。(:struct member...) 指定子は C のパディング規則でレイアウトされる ので、サイズには末尾パディングも含まれる。

(:struct :int :double) が 12 ではなく 16 なのは、double が 8 バイト境界に揃えられ、構造体のサイズがそのアラインメントの倍数になるため。