Maison  >  Article  >  développement back-end  >  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
Linda Hamiltonoriginal
2024-11-20 15:02:18168parcourir

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

Solution alternative :

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

-DENVIRONMENT64=1

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:
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