Mengesan Sistem Pengendalian dalam Prapemproses C untuk Pembangunan Merentas Platform
Menentukan sistem pengendalian asas semasa peringkat prapemproses adalah penting untuk merentas- kod C/C platform. Nasib baik, kebanyakan penyusun mentakrifkan makro tertentu yang membolehkan pengesanan yang boleh dipercayai.
GCC dan Makro Clang
Penyusun GCC dan Clang menyediakan senarai komprehensif makro yang dipratentukan yang boleh digunakan untuk pengenalan OS:
Contoh untuk GCC
Berikut ialah contoh bagaimana makro ini boleh digunakan dalam GCC kompilasi:
#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
Pertimbangan Penting
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Sistem Pengendalian dalam Prapemproses C untuk Pembangunan Merentas Platform?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!