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

Comment puis-je vérifier la prise en charge de C 11 pendant la compilation ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-07 13:09:15425parcourir

How Can I Check for C  11 Support During Compilation?

Détermination de la prise en charge de C 11 au moment de la compilation

Les programmeurs C doivent souvent déterminer si leur compilateur prend en charge des fonctionnalités spécifiques de C 11 pour garantir la compatibilité avec leur code. Voici comment y parvenir :

Utilisation de la constante __cplusplus

Certains compilateurs fournissent une constante nommée __cplusplus, qui indique la version standard C prise en charge. L'exemple suivant vérifie la prise en charge de C 11 :

#if __cplusplus <= 199711L
  #error This library needs at least a C++11 compliant compiler
#endif

Exploiter les macros Boost

Une autre option consiste à utiliser des macros de la bibliothèque Boost, qui fournit des définitions pour des fonctionnalités spécifiques de C 11, telles que comme :

  • BOOST_CXX11_VARIADIC_MACROS
  • BOOST_CXX11_THREADS
#ifndef BOOST_CXX11_VARIADIC_MACROS

#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!

Déclaration:
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