Delphi
Integral types
On Win64, NativeInt is twice the size of the Win32 NativeInt, and NativeUInt is twice the size of the Win32 NativeUInt.
|
Signed Integer |
Unsigned Integer |
Delphi/32 |
Delphi/64 |
Comments |
|
1 byte |
|
|||
|
2 bytes |
|
|||
|
4 bytes |
|
|||
|
4 bytes |
|
|||
|
8 bytes |
|
|||
|
4 bytes |
8 bytes |
|
||
Pointer types
On 64-bit Windows, all pointer types are 8 bytes, twice the size on 32-bit Windows.
|
Pointer types |
Delphi/32 |
Delphi/64 |
|
4 bytes |
8 bytes |
|
|
class instance |
||
|
class reference |
||
|
interface |
||
|
procedure pointer |
||
|
dynamic array |
||
Procedure of object
On 64-bit Windows, the alignment for a procedure of object is 16 bytes, twice the size on 32-bit Windows.
|
8 bytes |
16 bytes |
|
||
|
|
8 byte align |
8 byte align |
Known as closure type |
|
Floating-point types (including the Extended data type)
The Extended type has 2 bytes'
worth
For more information, see
|
Floating point types |
Delphi/32 |
Delphi/64 |
Comments |
|
4 bytes |
|
||
|
8 bytes |
|
||
|
8 bytes |
|
||
|
10 bytes |
8 bytes |
TExtended80Rec |
|
|
6 bytes |
|
||
|
8 bytes |
|
||
|
8 bytes |
|
||
Other types
On Win64, file size has increased.
|
Other types |
Delphi/32 |
Delphi/64 |
Comments |
|
1 byte |
|
||
|
1 byte |
|
||
|
2 bytes |
|
||
|
4 bytes |
|
||
|
1 byte |
|
||
|
2 bytes |
|
||
|
2 bytes |
|
||
|
256 bytes |
|
||
|
string[N] |
N+1 bytes |
|
|
|
16 bytes |
24 bytes |
||
|
592 bytes |
616 bytes |
|
|
|
730 bytes |
754 bytes |
720 bytes in XE release |
|
Constants
|
Constants |
Delphi/32 |
Delphi/64 |
|
MaxInt |
$7fffffff |
|
|
MaxLongInt |
$7fffffff |
|