Taille en bits de Long sur Windows 64 bits : un examen plus approfondi
La question de la taille de Long sur Windows 64 bits a a suscité une certaine confusion. Bien que la documentation suggère que long est effectivement de 64 bits dans cet environnement, la réalité est plus nuancée.
Dans le domaine des systèmes Unix, il existe diverses dispositions pour les tailles d'entiers et de pointeurs sur les plates-formes 64 bits, principalement ILP64. et LP64. Cependant, l'approche de Microsoft diffère avec LLP64.
ILP64 contre LP64
Type | ILP64 | LP64 | LLP64 |
---|---|---|---|
char | 8 | 8 | 8 |
short | 16 | 16 | 16 |
int | 64 | 32 | 32 |
long | 64 | 64 | 32 |
long long | 64 | 64 | 64 |
pointer | 64 | 64 | 64 |
Tous les systèmes Unix 64 bits modernes utilisent LP64, où long est de 64 bits. MacOS X et Linux entrent dans cette catégorie.
LLP64 et Windows 64 bits
Le schéma LLP64 de Microsoft donne la priorité à la recompilation des logiciels 32 bits sans modifications. Par conséquent, sur les systèmes Windows 64 bits :
Code neutre en matière de plate-forme
Pour atteindre un code neutre en matière de plate-forme code, il est recommandé d'utiliser les types du fichier C99
En utilisant ces types dans votre code, vous pouvez écrire des applications indépendantes des tailles entières spécifiques sur différentes plates-formes.
Conclusion
Bien que long soit généralement de 64 bits sur les systèmes Unix, sur 64- Windows, il reste 32 bits en raison de l'approche LLP64 de Microsoft. En comprenant les différentes conventions de taille d'entier et en utilisant des types indépendants de la plate-forme, les développeurs peuvent créer du code compatible sur une large gamme de systèmes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!