DELPHI 32位与64位数据类型大小

Delphi 32-bit and 64-bit Windows built-in type sizes

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

ShortInt

Byte

1 byte

 

SmallInt

Word

2 bytes

 

LongInt

LongWord

4 bytes

 

Integer

Cardinal

4 bytes

 

Int64

UInt64

8 bytes

 

NativeInt

NativeUInt

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

Pointer

4 bytes

8 bytes

string

class instance

class reference

interface

AnsiString

WideString

UnicodeString

procedure pointer

dynamic array

PAnsiChar

PWideChar

PChar

Procedure of object

On 64-bit Windows, the alignment for a procedure of object is 16 bytes, twice the size on 32-bit Windows.

procedure of object

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 less precision on 64-bit Windows than on 32-bit Windows (8 bytes vs 10 bytes)..

For more information, see The Extended Data Type Is 2 Bytes Smaller on 64-bit Windows Systems.

Floating point types

Delphi/32

Delphi/64

Comments

Single

4 bytes

 

Double

8 bytes

 

Real

8 bytes

 

Extended

10 bytes

8 bytes

TExtended80Rec has 10 bytes on Win64

Real48

6 bytes

 

Comp

8 bytes

 

Currency

8 bytes

 

Other types

On Win64, file size has increased.

Other types

Delphi/32

Delphi/64

Comments

Boolean

1 byte

 

ByteBool

1 byte

 

WordBool

2 bytes

 

LongBool

4 bytes

 

AnsiChar

1 byte

 

WideChar

2 bytes

 

Char

2 bytes

 

ShortString

256 bytes

 

string[N]

N+1 bytes

 

Variant OleVariant

16 bytes

24 bytes

file

592 bytes

616 bytes

 

Text TextFile

730 bytes

754 bytes

720 bytes in XE release

Constants

Constants

Delphi/32

Delphi/64

MaxInt

$7fffffff

MaxLongInt

$7fffffff

 

原文地址:https://www.cnblogs.com/luckForever/p/7254548.html