| // Annotated Flatbuffer Binary |
| // |
| // Schema file: tests/64bit/test_64bit.bfbs |
| // Binary file: tests/64bit/test_64bit.bin |
| |
| header: |
| +0x0000 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: 0x001C | offset to root table `RootTable` |
| |
| padding: |
| +0x0004 | 00 00 | uint8_t[2] | .. | padding |
| |
| vtable (RootTable): |
| +0x0006 | 16 00 | uint16_t | 0x0016 (22) | size of this vtable |
| +0x0008 | 3C 00 | uint16_t | 0x003C (60) | size of referring table |
| +0x000A | 04 00 | VOffset16 | 0x0004 (4) | offset to field `far_vector` (id: 0) |
| +0x000C | 10 00 | VOffset16 | 0x0010 (16) | offset to field `a` (id: 1) |
| +0x000E | 14 00 | VOffset16 | 0x0014 (20) | offset to field `far_string` (id: 2) |
| +0x0010 | 24 00 | VOffset16 | 0x0024 (36) | offset to field `big_bool_vector` (id: 3) |
| +0x0012 | 2C 00 | VOffset16 | 0x002C (44) | offset to field `big_vector` (id: 4) |
| +0x0014 | 20 00 | VOffset16 | 0x0020 (32) | offset to field `near_string` (id: 5) |
| +0x0016 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `nested_root` (id: 6) <null> (Vector64) |
| +0x0018 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `far_struct_vector` (id: 7) <null> (Vector) |
| +0x001A | 34 00 | VOffset16 | 0x0034 (52) | offset to field `big_struct_vector` (id: 8) |
| |
| root_table (RootTable): |
| +0x001C | 16 00 00 00 | SOffset32 | 0x00000016 (22) Loc: 0x0006 | offset to vtable |
| +0x0020 | E8 00 00 00 00 00 00 00 | UOffset64 | 0x00000000000000E8 (232) Loc: 0x0108 | offset to field `far_vector` (vector) |
| +0x0028 | 00 00 00 00 | uint8_t[4] | .... | padding |
| +0x002C | D2 04 00 00 | uint32_t | 0x000004D2 (1234) | table field `a` (Int) |
| +0x0030 | A4 00 00 00 00 00 00 00 | UOffset64 | 0x00000000000000A4 (164) Loc: 0x00D4 | offset to field `far_string` (string) |
| +0x0038 | 00 00 00 00 | uint8_t[4] | .... | padding |
| +0x003C | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: 0x0084 | offset to field `near_string` (string) |
| +0x0040 | 78 00 00 00 00 00 00 00 | UOffset64 | 0x0000000000000078 (120) Loc: 0x00B8 | offset to field `big_bool_vector` (vector64) |
| +0x0048 | 80 00 00 00 00 00 00 00 | UOffset64 | 0x0000000000000080 (128) Loc: 0x00C8 | offset to field `big_vector` (vector64) |
| +0x0050 | 08 00 00 00 00 00 00 00 | UOffset64 | 0x0000000000000008 (8) Loc: 0x0058 | offset to field `big_struct_vector` (vector64) |
| |
| vector64 (RootTable.big_struct_vector): |
| +0x0058 | 02 00 00 00 00 00 00 00 | uint64_t | 0x0000000000000002 (2) | length of vector (# items) |
| +0x0060 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | struct field `[0].a` of 'LeafStruct' (Int) |
| +0x0064 | 00 00 00 00 | uint8_t[4] | .... | padding |
| +0x0068 | D9 CE F7 53 E3 A5 0B 40 | double | 0x400BA5E353F7CED9 (3.456) | struct field `[0].b` of 'LeafStruct' (Double) |
| +0x0070 | 4E 00 00 00 | uint32_t | 0x0000004E (78) | struct field `[1].a` of 'LeafStruct' (Int) |
| +0x0074 | 00 00 00 00 | uint8_t[4] | .... | padding |
| +0x0078 | 33 33 33 33 33 33 22 40 | double | 0x4022333333333333 (9.1) | struct field `[1].b` of 'LeafStruct' (Double) |
| |
| padding: |
| +0x0080 | 00 00 00 00 | uint8_t[4] | .... | padding |
| |
| string (RootTable.near_string): |
| +0x0084 | 2F 00 00 00 | uint32_t | 0x0000002F (47) | length of string |
| +0x0088 | 74 68 69 73 20 69 73 20 | char[47] | this is | string literal |
| +0x0090 | 61 20 6E 65 61 72 20 73 | | a near s |
| +0x0098 | 74 72 69 6E 67 20 77 68 | | tring wh |
| +0x00A0 | 69 63 68 20 68 61 73 20 | | ich has |
| +0x00A8 | 61 20 33 32 2D 62 69 74 | | a 32-bit |
| +0x00B0 | 20 6F 66 66 73 65 74 | | offset |
| +0x00B7 | 00 | char | 0x00 (0) | string terminator |
| |
| vector64 (RootTable.big_bool_vector): |
| +0x00B8 | 07 00 00 00 00 00 00 00 | uint64_t | 0x0000000000000007 (7) | length of vector (# items) |
| +0x00C0 | 01 | uint8_t | 0x01 (1) | value[0] |
| +0x00C1 | 00 | uint8_t | 0x00 (0) | value[1] |
| +0x00C2 | 01 | uint8_t | 0x01 (1) | value[2] |
| +0x00C3 | 01 | uint8_t | 0x01 (1) | value[3] |
| +0x00C4 | 00 | uint8_t | 0x00 (0) | value[4] |
| +0x00C5 | 00 | uint8_t | 0x00 (0) | value[5] |
| +0x00C6 | 01 | uint8_t | 0x01 (1) | value[6] |
| |
| vector64 (RootTable.big_vector): |
| +0x00C8 | 04 00 00 00 00 00 00 00 | uint64_t | 0x0000000000000004 (4) | length of vector (# items) |
| +0x00D0 | 05 | uint8_t | 0x05 (5) | value[0] |
| +0x00D1 | 06 | uint8_t | 0x06 (6) | value[1] |
| +0x00D2 | 07 | uint8_t | 0x07 (7) | value[2] |
| +0x00D3 | 08 | uint8_t | 0x08 (8) | value[3] |
| |
| string (RootTable.far_string): |
| +0x00D4 | 2E 00 00 00 | uint32_t | 0x0000002E (46) | length of string |
| +0x00D8 | 74 68 69 73 20 69 73 20 | char[46] | this is | string literal |
| +0x00E0 | 61 20 66 61 72 20 73 74 | | a far st |
| +0x00E8 | 72 69 6E 67 20 77 68 69 | | ring whi |
| +0x00F0 | 63 68 20 68 61 73 20 61 | | ch has a |
| +0x00F8 | 20 36 34 2D 62 69 74 20 | | 64-bit |
| +0x0100 | 6F 66 66 73 65 74 | | offset |
| +0x0106 | 00 | char | 0x00 (0) | string terminator |
| |
| vector (RootTable.far_vector): |
| +0x0108 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of vector (# items) |
| +0x010C | 01 | uint8_t | 0x01 (1) | value[0] |
| +0x010D | 02 | uint8_t | 0x02 (2) | value[1] |
| +0x010E | 03 | uint8_t | 0x03 (3) | value[2] |