@Packed(1) // To account for padding
class MyStruct extends Struct {
@LongLong() // See NativeType class for complete list of available types
external int timestamp;
}
1.为结构分配内存
const size = 8;
final pointer = calloc.allocate<Uint8>(size);
final struct = pointer.cast<MyStruct>();
2条答案
按热度按时间k10s72fa1#
值得一提的是,dart中的int是8个字节,所以要得到4,我们需要手动删除它,就像我对
.sublist
所做的那样。堆栈溢出中this question的功劳。
lhcgjxsq2#
dart中实际上有一种打包或解包值的方法,但代码有点冗长。
它可以使用dart:typed_data和dart:ffi库来实现。
1.创建结构
1.为结构分配内存
1.赋值
1.获取字节列表