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!