Menentukan Piawaian C yang Dilaksanakan oleh Pengkompil
Mengesan versi piawaian C yang digunakan oleh pengkompil membantu memastikan keserasian dan pembangunan kod yang cekap . Begini cara untuk mencapainya:
Menggunakan Makro __cplusplus
C 11 memperkenalkan makro __cplusplus, yang mencerminkan piawaian C semasa. Sebagai contoh, dalam C 11, __cplusplus akan menjadi 201103L. Walau bagaimanapun, sesetengah pengkompil seperti gcc dan MSVC mungkin tidak sentiasa menetapkan makro ini dengan betul.
Pemeriksaan Khusus Pengkompil
Jika __cplusplus tidak mencukupi, gunakan pengkompil khusus cek. Sebagai contoh, clang mentakrifkan __clang_major__, __clang_minor__ dan __clang_patchlevel__. Begitu juga, MSVC mentakrifkan _MSC_VER.
Perbandingan Ciri
Pendekatan lain ialah membandingkan ciri yang dilaksanakan dengan standard C yang diketahui. Alat seperti Cppcheck atau Static ReSharper boleh menganalisis kod dan melaporkan ciri yang disokong, membolehkan pengenalpastian standard yang dilaksanakan.
Boost.Config
Boost.Config menyediakan makro khusus yang menunjukkan versi standard C, seperti BOOST_CXX_STD_11, BOOST_CXX_STD_14 dan sebagainya on.
Penyusun Lama
Untuk penyusun lama yang mungkin tidak menyokong kaedah yang disebutkan di atas, pertimbangkan untuk menggunakan penggodaman versi pengkompil atau Boost.Config untuk mengesan ciri dan kerja yang disokong sekitar yang hilang.
Khusus Ciri Menyemak
Untuk semakan ciri yang tepat, pertimbangkan untuk menggunakan sistem binaan pengkompil. Jalankan kod yang menggunakan ciri khusus dan periksa hasil kompilasi. Autoconf ialah alat yang popular untuk pendekatan ini.
Matriks Sokongan Pengkompil
Wiki Stdcxx menyediakan matriks sokongan pengkompil yang komprehensif untuk ciri C 0x. Walau bagaimanapun, semakan ciri manual disyorkan untuk analisis yang lebih terperinci.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menentukan piawaian C yang digunakan oleh pengkompil saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!