Question :
Des informations contradictoires suggèrent que ' long' peut ne pas être en 64 bits sur les machines Windows 64 bits. Est-ce vrai, et que devraient utiliser les programmeurs à la place ?
Réponse :
La réponse réside dans l'examen de différents arrangements de tailles entières sur les plates-formes 64 bits :
ILP64 (Int, Long, les pointeurs sont 64 bits)
LP64 (longs, les pointeurs sont en 64 bits)
LLP64 (Long Long, les pointeurs sont 64 bits)
Implications pour Windows :
Sur Windows 64 bits, 'long ' est en effet en 32 bits, contrairement aux autres plateformes 64 bits. Microsoft a adopté le schéma LLP64 pour garantir la compatibilité avec les applications 32 bits existantes.
Recommandations :
Pour garantir un code neutre en termes de plate-forme, utilisez les types entiers des
Soyez prudent lorsque en utilisant des types de systèmes (par exemple, « longs ») car ils peuvent varier sur toutes les plateformes. Utilisez uniquement intptr_t comme résultat de la soustraction de deux valeurs uintptr_t.
Conclusion :
La taille en bits de « long » sur Windows 64 bits est de 32 bits, ce qui diffère de le schéma LP64 utilisé par de nombreux autres systèmes 64 bits. Pour éviter les complications spécifiques à la plate-forme, les programmeurs doivent adopter des types entiers neutres par rapport à la plate-forme et gérer avec soin les types de système.
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!