Maison >développement back-end >C++ >Comment choisir le bon standard C lors de la compilation avec g ?

Comment choisir le bon standard C lors de la compilation avec g ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-12 07:55:02602parcourir

How Do I Choose the Right C   Standard When Compiling with g  ?

Choisir le standard C dans les compilations g

Compiler du code C avec g nécessite de prendre en compte la version standard C pour éviter des erreurs potentielles. Par défaut, g utilise une version standard spécifique, mais elle peut être remplacée à l'aide d'arguments de ligne de commande.

Version standard par défaut

La version standard par défaut utilisée par g peut être déterminé en exécutant la commande :

g++ -dM -E -x c++ /dev/null | grep -F __cplusplus

Cette commande génère une macro qui définit la macro du préprocesseur __cplusplus, indiquant la version du standard C utilisée. Par exemple :

#define __cplusplus 199711L  // Represents C++98

Remplacement de la version par défaut

Pour remplacer la version standard par défaut, utilisez l'argument -std= suivi de la version souhaitée. Par exemple, pour utiliser C 17, la commande serait :

g++ -std=c++17 example.cpp

Recommandation

L'utilisation de l'argument -std= est recommandée pour plusieurs raisons :

  • Garantit la compatibilité avec la version prévue de C.
  • Empêche les erreurs inattendues dues à l'utilisation d'une norme obsolète ou non prise en charge.
  • Facilite la collaboration entre différents systèmes et chaînes d'outils avec différentes normes par défaut. .

Références

  • [g Options](https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Options.html )
  • [g Requête de version standard](https://gcc.gnu.org/onlinedocs/gcc/cpp-options.html#cpp-options_002dM)

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