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 |