Maison > développement back-end > C++ > Comment puis-je vérifier la prise en charge du compilateur C 11 ?

Comment puis-je vérifier la prise en charge du compilateur C 11 ?

Barbara Streisand
Libérer: 2024-12-18 05:06:10
original
1007 Les gens l'ont consulté

How Can I Check for C  11 Compiler Support?

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal