Menyemak Sokongan C 11
Dalam C , menentukan sama ada pengkompil menyokong ciri khusus C 11 adalah penting untuk memastikan keserasian. Sesetengah kaedah wujud untuk melaksanakan semakan ini pada masa penyusunan, termasuk:
Menggunakan __cplusplus Constant
Pemalar __cplusplus, yang ditakrifkan oleh prapemproses, menunjukkan versi standard C yang disokong . Contohnya:
#if __cplusplus <= 199711L #error This library needs at least a C++11 compliant compiler #endif
Menggunakan Boost Defines
Boost menyediakan takrifan (__has_feature(feature_name)) yang membolehkan menyemak ciri C 11 tertentu, seperti:
#if __has_feature(cxx_automatic_resource_management) // C++11 has automatic resource management #endif
Contoh: Menyemak Variadic Templat
Andaikan anda ingin menggunakan templat variadic, ciri C 11. Anda boleh menyemak sokongannya menggunakan kod berikut:
#ifndef VARIADIC_TEMPLATES_SUPPORTED #error "Your compiler doesn't support variadic templates. :(" #else template <typename... DatatypeList> class Tuple { // ... } #endif
Atas ialah kandungan terperinci Bagaimana Saya Boleh Semak Sokongan Pengkompil C 11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!