64-Bit-Datentypen im Vergleich zu 32-Bit-Datentypen
Nach oben zu Entwickeln von plattformübergreifenden 64-Bit-Anwendungen für Windows
Die folgenden Tabellen geben einen Überblick über die Unterschiede und Gemeinsamkeiten der Datentypen von 64-Bit- und 32-Bit-Betriebssystemen.
Inhaltsverzeichnis |
Größen der in Delphi integrierten 32-Bit- und 64-Bit-Typen
Integrale Typen
In Win64 ist NativeInt doppelt so groß wie in Win32 und NativeUInt ist ebenfalls doppelt so groß wie in Win32.
|
Integertyp mit Vorzeichen |
Integertyp ohne Vorzeichen |
Delphi/32 |
Delphi/64 |
Bemerkungen |
|---|---|---|---|---|
|
ShortInt |
Byte |
1 Byte |
||
|
SmallInt |
Word |
2 Byte |
||
|
LongInt |
LongWord |
4 Byte |
||
|
Integer |
Cardinal |
4 Byte |
||
|
Int64 |
UInt64 |
8 Byte |
||
|
NativeInt |
NativeUInt |
4 Byte |
8 Byte |
|
Zeigertypen
In 64-Bit-Windows sind alle Zeigertypen 8 Byte groß, d.h. doppelt so groß wie in 32-Bit-Windows.
|
Zeigertypen |
Delphi/32 |
Delphi/64 |
|---|---|---|
|
Zeiger |
4 Byte |
8 Byte |
|
string | ||
|
Klasseninstanz | ||
|
Klassenreferenz | ||
|
Interface | ||
|
AnsiString | ||
|
WideString | ||
|
UnicodeString | ||
|
Prozedurenzeiger | ||
|
Dynamisches Array | ||
|
PAnsiChar | ||
|
PWideChar | ||
|
PChar |
procedure of object
In 64-Bit-Windows ist die Ausrichtung für "procedure of object" 16 Byte, d.h. doppelt so groß wie in 32-Bit-Windows.
| procedure of object | 8 Byte | 16 Byte | ||
| 8-Byte-Ausrichtung | 8-Byte-Ausrichtung | closure-Typ |
Gleitkommatypen (einschließlich des Datentyps "Extended")
Der Typ "Extended" hat in 64-Bit-Windows eine um 2 Byte geringere Genauigkeit.
Weitere Information finden Sie unter Der Datentyp "Extended" ist in 64-Bit-Windows-Systemen 2 Byte kleiner.
|
Gleitkommatypen |
Delphi/32 |
Delphi/64 |
Bemerkungen |
|---|---|---|---|
|
Single |
4 Byte |
||
|
Double |
8 Byte |
||
|
Extended |
10 Byte |
8 Byte |
TExtended80Rec ist in Win64 10 Byte groß. |
|
Real48 |
6 Byte |
||
|
Comp |
8 Byte |
||
|
Currency |
8 Byte |
||
Sonstige Typen
Dateien sind in Win64 größer.
|
Sonstige Typen |
Delphi/32 |
Delphi/64 |
Bemerkungen |
|---|---|---|---|
|
Boolean |
1 Byte |
||
|
ByteBool |
1 Byte |
||
|
WordBool |
2 Byte |
||
|
LongBool |
4 Byte |
||
|
AnsiChar |
1 Byte |
||
|
WideChar |
2 Byte |
||
|
Char |
2 Byte |
||
|
ShortString |
256 Byte |
||
|
string[N] |
N+1 Byte |
||
|
Variant/OleVariant |
16 Byte |
||
|
Datei |
592 Byte |
616 Byte |
|
|
Text/TextFile |
730 Byte |
754 Byte |
720 Byte im XE-Release |
Konstanten
|
Konstanten |
Delphi/32 |
Delphi/64 |
|---|---|---|
|
MaxInt |
$7fffffff | |
|
MaxLongInt |
$7fffffff | |