Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Seni Bina CPU Boleh Dikesan dengan Amanah pada Masa Kompilasi?
Cabaran:
Menentukan seni bina CPU sasaran semasa penyusunan boleh menjadi satu cabaran disebabkan oleh takrifan prapemproses bukan standard yang berbeza-beza yang digunakan oleh penyusun yang berbeza. Ini menunjukkan keperluan untuk kaedah yang boleh dipercayai dan konsisten untuk mengesan seni bina.
Pengesanan Boleh Dipercayai:
Walaupun tiada piawaian yang ditetapkan secara universal untuk mengesan seni bina CPU semasa penyusunan- masa, pendekatan yang paling boleh dipercayai adalah memanfaatkan definisi khusus pengkompil berikut:
#ifdef _M_X64 #define CPU_ARCH "x86_64" #elif defined(__i386__) #define CPU_ARCH "x86_32" ... #else #define CPU_ARCH "UNKNOWN" #endifDengan memasukkan pengepala ini ke dalam kod anda, anda boleh menyemak nilai CPU_ARCH dengan mudah untuk menentukan seni bina sasaran.
Pengesanan Tersuai Contoh:
Untuk pengesanan seni bina yang lebih terperinci, pertimbangkan coretan kod berikut:extern "C" { const char *getBuild() { #if defined(__x86_64__) || defined(_M_X64) return "x86_64"; ... #else return "UNKNOWN"; #endif } }Fungsi ini menyediakan keupayaan pengesanan yang luas, meliputi x86, ARM, MIPS, PowerPC dan seni bina lain.
Atas ialah kandungan terperinci Bagaimanakah Seni Bina CPU Boleh Dikesan dengan Amanah pada Masa Kompilasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!