Pengesanan sistem pengendalian semasa pemprosesan prapemproses adalah penting untuk menulis kod C/C merentas platform. Begini cara untuk mencapai ini dengan pasti untuk Mac OS X, iOS, Linux dan Windows:
Kebanyakan penyusun mentakrifkan makro yang mengenal pasti sistem pengendalian. Untuk pengesanan prapemproses, makro yang dipratentukan ini adalah penting. GCC, misalnya, mempunyai senarai komprehensif, yang termasuk:
// Define something for Windows (32-bit and 64-bit) #ifdef _WIN64 // Define something unique for Windows (64-bit only) #else // Define something specific for Windows (32-bit only) #endif
#include <TargetConditionals.h> #if TARGET_IPHONE_SIMULATOR // iOS, tvOS, or watchOS Simulator #elif TARGET_OS_MACCATALYST // Mac's Catalyst (bridging iOS API into Mac) #elif TARGET_OS_IPHONE // iOS, tvOS, or watchOS device #elif TARGET_OS_MAC // Other Apple platforms #else // Error: Unknown Apple platform #endif
// Handled elsewhere (Android typically conforms to __linux__)
// Linux
// Unix
// POSIX
// Error: Unknown compiler
Dengan menggunakan makro ini, anda boleh mengesan dengan pasti sistem pengendalian semasa pemprosesan prapemproses dan menyesuaikan kod anda dengan sewajarnya, memastikan keserasian merentas pelbagai platform.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Sistem Pengendalian Semasa Penyusunan Prapemproses C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!