def test_nested_anonymous_struct(self):
# struct nested_anon {
# struct { int a, b; };
# union { int c, d; };
# };
assert ffi.sizeof("struct nested_anon") == 3 * SIZE_OF_INT
p = ffi.new("struct nested_anon *", [1, 2, 3])
assert p.a == 1
assert p.b == 2
assert p.c == 3
assert p.d == 3
p.d = 17
assert p.c == 17
p.b = 19
assert p.a == 1
assert p.b == 19
assert p.c == 17
assert p.d == 17
p = ffi.new("struct nested_anon *", {'b': 12, 'd': 14})
assert p.a == 0
assert p.b == 12
assert p.c == 14
assert p.d == 14
评论列表
文章目录