Maison >développement back-end >C++ >Pourquoi le 64 bits « long » n'est-il pas disponible sur Windows 64 bits ?
La taille en bits de « long » dans Windows 64 bits
La question se pose : pourquoi « long » n'est-il pas 64 bits sur 64 Des machines à bits comme Windows ? Cet article se penche sur l'histoire et les implications du dimensionnement des entiers sur différentes plates-formes.
Historique du dimensionnement des entiers
Dans le monde Unix, deux arrangements majeurs de taille entière pour 64- des plates-formes de bits ont émergé : ILP64 (int, long, les pointeurs sont en 64 bits) et LP64 (long, les pointeurs sont en 64 bits). ILP64 a été abandonné au profit de LP64, qui est devenu la norme pour les systèmes Unix 64 bits modernes comme macOS X et Linux.
Le schéma LLP64 de Microsoft
Microsoft utilise LLP64 ( long long, les pointeurs sont en 64 bits) pour Windows 64 bits, permettant la recompilation de logiciels 32 bits sans changements. Cependant, cela diffère des autres plates-formes 64 bits et nécessite des ajustements de code supplémentaires pour exploiter les capacités 64 bits. -plate-forme, la norme C99 fournit le paramètre
Considérations pour Windows
Comme Windows utilise LLP64, il est crucial de noter que « long » reste 32. bits sur les machines 64 bits. Cela nécessite d'être prudent lors de l'utilisation de types de systèmes, qui peuvent s'écarter des types d'entiers neutres par rapport à la plate-forme.
Conclusion
Comprendre les nuances du dimensionnement des entiers sur différentes plates-formes est essentiel pour développer logiciel multiplateforme. L'utilisation de types entiers indépendants de la plate-forme de
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!