Maison > développement back-end > C++ > Pourquoi le 64 bits « long » n'est-il pas disponible sur Windows 64 bits ?

Pourquoi le 64 bits « long » n'est-il pas disponible sur Windows 64 bits ?

DDD
Libérer: 2025-01-01 04:43:10
original
1013 Les gens l'ont consulté

Why Isn't 'long' 64 Bits on 64-bit Windows?

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 en-tête, proposant des types entiers spécifiques à la plate-forme : int8_t, int16_t, int32_t, int64_t, uintptr_t, intmax_t. L'utilisation de ces types garantit que votre application peut s'adapter à différentes tailles d'entiers.

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 et une manipulation minutieuse des types de systèmes peut aider à garantir la portabilité du code et à éviter d'éventuels problèmes de taille entière.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal