"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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?

Publié le 2025-02-06
Parcourir:593

How Can I Check for C  11 Compiler Support?

Vérification de la prise en charge de C 11

Dans C, déterminer si un compilateur prend en charge des fonctionnalités spécifiques de C 11 est crucial pour assurer la compatibilité. Il existe des méthodes pour effectuer cette vérification à Compile-Time, y compris:

en utilisant __cplusplus constante

La constante __cplusplus, définie par le préprocesseur, indique la version standard C prise en charge C standard C. . Par exemple:

#if __cplusplus  

Utilisation de boost définit

boost fournit des définies (__has_feature (fonctionnalité)) qui permettent de vérifier des fonctionnalités C 11 spécifiques, telles que:

#if __has_feature(cxx_automatic_resource_management)
  // C  11 has automatic resource management
#endif

Exemple: Vérification des modèles variadiques

Supposons que vous souhaitiez utiliser des modèles variadiques, une fonction 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 
class Tuple
{
    // ...
}

#endif
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3