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 |