| // Annotated Flatbuffer Binary |
| // |
| // Schema file: tests/64bit/test_64bit.fbs |
| // Binary file: tests/64bit/test_64bit.bin |
| |
| header: |
| +0x00 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: 0x1C | offset to root table `RootTable` |
| |
| padding: |
| +0x04 | 00 00 00 00 | uint8_t[4] | .... | padding |
| |
| vtable (RootTable): |
| +0x08 | 14 00 | uint16_t | 0x0014 (20) | size of this vtable |
| +0x0A | 34 00 | uint16_t | 0x0034 (52) | size of referring table |
| +0x0C | 04 00 | VOffset16 | 0x0004 (4) | offset to field `far_vector` (id: 0) |
| +0x0E | 10 00 | VOffset16 | 0x0010 (16) | offset to field `a` (id: 1) |
| +0x10 | 14 00 | VOffset16 | 0x0014 (20) | offset to field `far_string` (id: 2) |
| +0x12 | 24 00 | VOffset16 | 0x0024 (36) | offset to field `big_vector` (id: 3) |
| +0x14 | 20 00 | VOffset16 | 0x0020 (32) | offset to field `near_string` (id: 4) |
| +0x16 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `nested_root` (id: 5) <null> (Vector64) |
| +0x18 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `far_struct_vector` (id: 6) <null> (Vector) |
| +0x1A | 2C 00 | VOffset16 | 0x002C (44) | offset to field `big_struct_vector` (id: 7) |
| |
| root_table (RootTable): |
| +0x1C | 14 00 00 00 | SOffset32 | 0x00000014 (20) Loc: 0x08 | offset to vtable |
| +0x20 | D0 00 00 00 00 00 00 00 | UOffset64 | 0x00000000000000D0 (208) Loc: 0xF0 | offset to field `far_vector` (vector) |
| +0x28 | 00 00 00 00 | uint8_t[4] | .... | padding |
| +0x2C | D2 04 00 00 | uint32_t | 0x000004D2 (1234) | table field `a` (Int) |
| +0x30 | 8C 00 00 00 00 00 00 00 | UOffset64 | 0x000000000000008C (140) Loc: 0xBC | offset to field `far_string` (string) |
| +0x38 | 00 00 00 00 | uint8_t[4] | .... | padding |
| +0x3C | 40 00 00 00 | UOffset32 | 0x00000040 (64) Loc: 0x7C | offset to field `near_string` (string) |
| +0x40 | 70 00 00 00 00 00 00 00 | UOffset64 | 0x0000000000000070 (112) Loc: 0xB0 | offset to field `big_vector` (vector64) |
| +0x48 | 08 00 00 00 00 00 00 00 | UOffset64 | 0x0000000000000008 (8) Loc: 0x50 | offset to field `big_struct_vector` (vector64) |
| |
| vector64 (RootTable.big_struct_vector): |
| +0x50 | 02 00 00 00 00 00 00 00 | uint64_t | 0x0000000000000002 (2) | length of vector (# items) |
| +0x58 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | struct field `[0].a` of 'LeafStruct' (Int) |
| <4 regions omitted> |
| +0x70 | 33 33 33 33 33 33 22 40 | double | 0x4022333333333333 (9.1) | struct field `[1].b` of 'LeafStruct' (Double) |
| |
| padding: |
| +0x78 | 00 00 00 00 | uint8_t[4] | .... | padding |
| |
| string (RootTable.near_string): |
| +0x7C | 2F 00 00 00 | uint32_t | 0x0000002F (47) | length of string |
| +0x80 | 74 68 69 73 20 69 73 20 | char[47] | this is | string literal |
| +0x88 | 61 20 6E 65 61 72 20 73 | | a near s |
| +0x90 | 74 72 69 6E 67 20 77 68 | | tring wh |
| +0x98 | 69 63 68 20 68 61 73 20 | | ich has |
| +0xA0 | 61 20 33 32 2D 62 69 74 | | a 32-bit |
| +0xA8 | 20 6F 66 66 73 65 74 | | offset |
| +0xAF | 00 | char | 0x00 (0) | string terminator |
| |
| vector64 (RootTable.big_vector): |
| +0xB0 | 04 00 00 00 00 00 00 00 | uint64_t | 0x0000000000000004 (4) | length of vector (# items) |
| +0xB8 | 05 | uint8_t | 0x05 (5) | value[0] |
| <2 regions omitted> |
| +0xBB | 08 | uint8_t | 0x08 (8) | value[3] |
| |
| string (RootTable.far_string): |
| +0xBC | 2E 00 00 00 | uint32_t | 0x0000002E (46) | length of string |
| +0xC0 | 74 68 69 73 20 69 73 20 | char[46] | this is | string literal |
| +0xC8 | 61 20 66 61 72 20 73 74 | | a far st |
| +0xD0 | 72 69 6E 67 20 77 68 69 | | ring whi |
| +0xD8 | 63 68 20 68 61 73 20 61 | | ch has a |
| +0xE0 | 20 36 34 2D 62 69 74 20 | | 64-bit |
| +0xE8 | 6F 66 66 73 65 74 | | offset |
| +0xEE | 00 | char | 0x00 (0) | string terminator |
| |
| vector (RootTable.far_vector): |
| +0xF0 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of vector (# items) |
| +0xF4 | 01 | uint8_t | 0x01 (1) | value[0] |
| +0xF5 | 02 | uint8_t | 0x02 (2) | value[1] |
| +0xF6 | 03 | uint8_t | 0x03 (3) | value[2] |