Maison > développement back-end > C++ > Comment puis-je déterminer de manière fiable si mon environnement C est 32 bits ou 64 bits ?

Comment puis-je déterminer de manière fiable si mon environnement C est 32 bits ou 64 bits ?

Linda Hamilton
Libérer: 2024-11-20 15:02:18
original
232 Les gens l'ont consulté

How Can I Reliably Determine if My C   Environment is 32-bit or 64-bit?

Distinguer les environnements 32 et 64 bits en C

Déterminer la largeur de bits (32 vs 64) d'une compilation C est crucial pour certaines opérations. Bien qu'une approche courante utilise des macros pour comparer les valeurs maximales, elle soulève des inquiétudes quant à d'éventuels échecs.

Méthode suggérée :

Au lieu de vous fier uniquement aux macros, envisagez d'utiliser une méthode croisée -Approche de plate-forme qui exploite les définitions spécifiques au compilateur. Définissez des variables personnalisées (par exemple, ENVIRONMENT64 et ENVIRONMENT32) et définissez-les en fonction de la plate-forme du compilateur. Voici un exemple d'extrait de code :

// Check Windows
#if _WIN32 || _WIN64
#if _WIN64
#define ENVIRONMENT64
#else
#define ENVIRONMENT32
#endif
#endif

// Check GCC
#if __GNUC__
#if __x86_64__ || __ppc64__
#define ENVIRONMENT64
#else
#define ENVIRONMENT32
#endif
#endif

// Check based on custom variables
#ifdef ENVIRONMENT64
DoMy64BitOperation();
#else
DoMy32BitOperation();
#endif
Copier après la connexion

Solution alternative :

Vous pouvez également définir ces variables explicitement à partir de la ligne de commande du compilateur :

-DENVIRONMENT64=1
Copier après la connexion

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal