Maison >développement back-end >C++ >Comment puis-je détecter le système d'exploitation dans le préprocesseur C pour le développement multiplateforme ?
Détection des systèmes d'exploitation dans le préprocesseur C pour le développement multiplateforme
La détermination du système d'exploitation sous-jacent pendant l'étape du préprocesseur est cruciale pour le développement multiplateforme code C/C de la plateforme. Heureusement, la plupart des compilateurs définissent des macros spécifiques qui permettent une détection fiable.
Macros GCC et Clang
Les compilateurs GCC et Clang fournissent une liste complète de macros prédéfinies qui peuvent être utilisées pour l'identification du système d'exploitation :
Exemple pour GCC
Voici un exemple de la façon dont ces macros peuvent être utilisées dans une compilation GCC :
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) // Define something for Windows (32-bit and 64-bit) #ifdef _WIN64 // Define something for Windows (64-bit only) #else // Define something for Windows (32-bit only) #endif #elif __APPLE__ #include <TargetConditionals.h> #if TARGET_IPHONE_SIMULATOR // iOS, tvOS, or watchOS Simulator #elif TARGET_OS_MACCATALYST // Mac's Catalyst (ports iOS API into Mac, like UIKit). #elif TARGET_OS_IPHONE // iOS, tvOS, or watchOS device #elif TARGET_OS_MAC // Other kinds of Apple platforms #else #error "Unknown Apple platform" #endif #else #error "Unknown compiler" #endif
Important Considérations
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!