Struct 定义 C 结构体的内存布局,支持序列化/反序列化,可与 ffi.ptr 配合传递给 C 函数。
示例
Struct()
| 参数 | 类型 | 说明 |
|---|---|---|
fields | Record<string, string> | 字段名到类型编码的映射,如 { x: FFIType.int32, y: FFIType.int32 } |
StructSchema
size
create()
ArrayBuffer。
fromPtr()
get()
ArrayBuffer 中读取单个字段。
set()
ArrayBuffer 中单个字段的值。
ARM64 对齐规则
| 类型编码 | C 类型 | 大小 | 对齐 |
|---|---|---|---|
c | char / int8_t | 1 | 1 |
i | int32_t / int | 4 | 4 |
l | int64_t / uint64_t | 8 | 8 |
d | double | 8 | 8 |
f | float | 4 | 4 |
b | bool | 1 | 1 |
s | const char*(指针) | 8 | 8 |
p / k | void* / 函数指针 | 8 | 8 |