def test_struct_packed(self):
# struct nonpacked { char a; int b; };
# struct is_packed { char a; int b; } __attribute__((packed));
assert ffi.sizeof("struct nonpacked") == 8
assert ffi.sizeof("struct is_packed") == 5
assert ffi.alignof("struct nonpacked") == 4
assert ffi.alignof("struct is_packed") == 1
s = ffi.new("struct is_packed[2]")
s[0].b = 42623381
s[0].a = b'X'
s[1].b = -4892220
s[1].a = b'Y'
assert s[0].b == 42623381
assert s[0].a == b'X'
assert s[1].b == -4892220
assert s[1].a == b'Y'
评论列表
文章目录