Types de données Windows 64 bits comparés aux types de données Windows 32 bits
Sommaire
Remonter à Développement des applications multiplates-formes 64 bits pour Windows
Les tableaux suivants récapitulent les différences et les similitudes entre les types de données des systèmes d'exploitation 32 bits et 64 bits.
Tailles des types intégrés Delphi Windows 32 bits et 64 bits
Types intégraux
Sur Win64, NativeInt est deux fois la taille du Win32 NativeInt, et NativeUInt est deux fois la taille du Win32 NativeUInt.
Entier signé |
Entier non signé |
Delphi/32 |
Delphi/64 |
---|---|---|---|
1 octet | |||
2 octets | |||
4 octets | |||
4 octets | |||
4 octets | |||
8 octets | |||
4 octets |
8 octets |
Types pointeur
Sur Windows 64 bits, la taille de tous les types pointeur est de 8 octets, deux fois la taille sur Windows 32 bits.
Types pointeur |
Delphi/32 |
Delphi/64 |
---|---|---|
4 octets |
8 octets | |
class instance | ||
class reference | ||
interface | ||
procedure pointer | ||
dynamic array | ||
"Procedure of object"
Sur Windows 64 bits, l'alignement pour un type "procedure of object" est de 16 octets, deux fois la taille sur Windows 32 bits.
Procedure of object | Delphi/32 | Delphi/64 | Commentaires |
---|---|---|---|
Taille | 8 octets | 16 octets | |
Alignement | 8 octets | 16 octets | Connu en tant que type closure |
Types à virgule flottante (y compris le type de données Extended)
Le type Extended a une précision inférieure de 2 octets sur Windows 64 bits par rapport à Windows 32 bits (8 octets contre 10 octets).
Pour de plus amples informations, voir Le type de données Extended est de 2 octets plus petit sur les systèmes Windows 64 bits.
Types à virgule flottante |
Delphi/32 |
Delphi/64 |
Commentaires |
---|---|---|---|
4 octets |
|||
8 octets |
|||
8 octets |
|||
10 octets |
8 octets |
TExtended80Rec est de 10 octets sur Win64 | |
6 octets |
|||
8 octets |
|||
8 octets |
Autres types
Sur Win64, la taille des fichiers a été augmentée.
Autres types |
Delphi/32 |
Delphi/64 |
Commentaires |
---|---|---|---|
1 octet |
|||
1 octet |
|||
2 octets |
|||
4 octets |
|||
1 octet |
|||
2 octets |
|||
2 octets |
|||
256 octets |
|||
string[N] |
N+1 octets |
||
16 octets |
24 octets | ||
592 octets |
616 octets |
||
730 octets |
754 octets |
720 octets dans la release XE |
Constantes
Constantes |
Delphi/32 |
Delphi/64 |
---|---|---|
MaxInt |
$7fffffff | |
MaxLongInt |
$7fffffff |
Tailles des types intégrés C++Builder Windows 32 bits et 64 bits
Les tableaux suivants récapitulent les différences et les similitudes entre les types de données des systèmes d'exploitation 32 bits et 64 bits dans C++Builder.
- Remarque : Afin d'utiliser des membres de l'unité System (comme System::Byte), vous devez utiliser
#include <System.hpp>
.
Types intégraux
Sur Win64, System::NativeInt/ssize_t est deux fois la taille du Win32 System::NativeInt/ssize_t.
De même, System::NativeUInt/ssize_t est deux fois la taille du Win32 System::NativeUInt/size_t.
Entier signé |
Entier non signé |
C++/32 |
C++/64 |
Commentaires |
---|---|---|---|---|
1 octet |
||||
2 octets |
||||
System::LongWord, unsigned |
4 octets |
|||
4 octets |
||||
8 octets |
||||
4 octets |
8 octets |
Types pointeur
Sur Windows 64 bits, la taille de tous les types pointeur est de 8 octets, deux fois la taille sur Windows 32 bits.
Types pointeur |
C++/32 |
C++/64 |
---|---|---|
System::Pointer, void* |
4 octets |
8 octets |
__closure
Sur Windows 64 bits, l'alignement pour un __closure est de 16 octets, deux fois la taille sur Windows 32 bits.
__closure | 8 octets | 16 octets |
Types à virgule flottante (y compris le type de données Extended)
Le type Extended a une précision inférieure de 2 octets sur Windows 64 bits.
Pour de plus amples informations, voir Le type de données Extended est de 2 octets plus petit sur les systèmes Windows 64 bits.
Types à virgule flottante |
C++/32 |
C++/64 |
Commentaires |
---|---|---|---|
4 octets |
|||
8 octets |
|||
System::Extended, long double |
10 octets |
8 octets |
TExtended80Rec est de 10 octets sur Win64 |
Non supporté |
|||
8 octets |
|||
8 octets |
Autres types
Sur Win64, la taille des fichiers a été augmentée.
Autres types |
C++/32 |
C++/64 |
Commentaires |
---|---|---|---|
1 octet |
|||
1 octet |
|||
2 octets |
|||
4 octets |
|||
1 octet |
|||
2 octets |
|||
System::Char, wchar_t (Windows), char16_t (OSX) |
2 octets |
||
256 octets |
|||
16 octets |
24 octets |
Constantes
Constantes |
C++/32 |
C++/64 |
---|---|---|
MaxInt |
$7fffffff | |
MaxLongInt |
$7fffffff |