Maison >développement back-end >C++ >Comment puis-je vérifier la prise en charge du compilateur C 11 ?
Vérification de la prise en charge de C 11
En C, déterminer si un compilateur prend en charge des fonctionnalités spécifiques de C 11 est crucial pour garantir la compatibilité. Certaines méthodes existent pour effectuer cette vérification au moment de la compilation, notamment :
Utilisation de la constante __cplusplus
La constante __cplusplus, définie par le préprocesseur, indique la version standard C prise en charge . Par exemple :
#if __cplusplus <= 199711L #error This library needs at least a C++11 compliant compiler #endif
Utilisation de Boost Defines
Boost fournit des définitions (__has_feature(feature_name)) qui permettent de vérifier des fonctionnalités spécifiques de C 11, telles que :
#if __has_feature(cxx_automatic_resource_management) // C++11 has automatic resource management #endif
Exemple : Vérification de Variadic Modèles
Supposons que vous souhaitiez utiliser des modèles variadiques, une fonctionnalité C 11. Vous pouvez vérifier sa prise en charge en utilisant le code suivant :
#ifndef VARIADIC_TEMPLATES_SUPPORTED #error "Your compiler doesn't support variadic templates. :(" #else template <typename... DatatypeList> class Tuple { // ... } #endif
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!