mirror of
https://github.com/alfishe/amiga-bootcamp.git
synced 2026-06-12 16:16:28 +00:00
Fixed frame again (#2)
* Fixed frame again Correct vtable layout differences between GCC and StormC++. * Fixed frame once again
This commit is contained in:
parent
05e4c79762
commit
ef65678203
2 changed files with 7 additions and 7 deletions
|
|
@ -92,17 +92,17 @@ StormC++ uses its own ABI:
|
|||
|
||||
```
|
||||
GCC 2.95.x vtable layout: StormC++ vtable layout:
|
||||
┌──────────────────────┐ ┌──────────────────────┐
|
||||
┌──────────────────────┐ ┌──────────────────────┐
|
||||
│ offset_to_top = 0 │ vtable[-2] │ (no offset_to_top) │
|
||||
├──────────────────────┤ ├──────────────────────┤
|
||||
├──────────────────────┤ ├──────────────────────┤
|
||||
│ RTTI pointer │ vtable[-1] │ (RTTI pointer or 0) │
|
||||
├──────────────────────┤ ← vptr ├──────────────────────┤ ← vptr
|
||||
│ virtual destructor │ vtable[0] │ first virtual method │ vtable[0]
|
||||
├──────────────────────┤ ├──────────────────────┤
|
||||
├──────────────────────┤ ├──────────────────────┤
|
||||
│ virtual method 1 │ vtable[1] │ second virtual meth │ vtable[1]
|
||||
├──────────────────────┤ ├──────────────────────┤
|
||||
│ ... │ │ ... │
|
||||
└──────────────────────┘ └──────────────────────┘
|
||||
├──────────────────────┤ ├──────────────────────┤
|
||||
│ ... │ │ ... │
|
||||
└──────────────────────┘ └──────────────────────┘
|
||||
```
|
||||
|
||||
> [!WARNING]
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ All characters are stored in a single bitmap strip. The `tf_CharLoc` table tells
|
|||
```
|
||||
tf_CharData bitmap:
|
||||
┌──┬───┬──┬───┬──┬──┬───────────────────┐
|
||||
│A │ B │C │ D │E │F │ ... all chars ... │
|
||||
│A │ B │C │ D │E │F │ ... all chars ... │
|
||||
└──┴───┴──┴───┴──┴──┴───────────────────┘
|
||||
|
||||
tf_CharLoc[ch - tf_LoChar]:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue