1,157
edits
(→Header: fix missing level of indirection for flowcharts and timelines) |
Tags: Mobile edit Mobile web edit |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 78: | Line 78: | ||
Note: the number of sections is almost always 1 because a single section can already fit 2^32 - 1 entries. If you need more than 4 billion entries, you are probably doing something ''very wrong''. | Note: the number of sections is almost always 1 because a single section can already fit 2^32 - 1 entries. If you need more than 4 billion entries, you are probably doing something ''very wrong''. | ||
The table base pointer is calculated as follows: | The table base pointer is calculated as follows: <code>reinterpret_cast<char*>(&table) - table_start_offset</code> | ||
==== Relocation table section ==== | ==== Relocation table section ==== | ||
Line 142: | Line 142: | ||
! Offset !! Type !! Description | ! Offset !! Type !! Description | ||
|- | |- | ||
| 0x0 || u32 || | | 0x0 || u32 || Bit index | ||
|- | |- | ||
| 0x4 || u16 || | | 0x4 || u16 || Index of next node if bit is 0 | ||
|- | |- | ||
| 0x6 || u16 || | | 0x6 || u16 || Index of next node if bit is 1 | ||
|- | |- | ||
| 0x8 || PascalString* || Name | | 0x8 || PascalString* || Name | ||
|} | |} | ||
Example: <code>Hello</code> corresponds to 100100001100101011011000110110001101111. Bits 0-3 are 1, bit 4 is 0, etc. | Example: <code>Hello</code> corresponds to 100100001100101011011000110110001101111. Bits 0-3 are 1, bit 4 is 0, etc. |