7
votes

Comment vérifier si un fichier d'en-tête C ++ est correct avec les outils GCC?

Comment puis-je vérifier si la syntaxe d'un fichier d'en-tête est correcte avec les outils GCC?


2 commentaires

Écrivez un programme de stub que #include s l'en-tête et compilez-le? Sans plus d'informations, cette question ne va pas obtenir une réponse utile.


Umm ... utilisez-le dans un fichier source ...


4 Réponses :


8
votes

Vous pouvez essayer de la compiler avec g ++ , comme dans g ++ -c myheader.h . Cela attrapera des erreurs de syntaxe.


1 commentaires

g ++ -fsyntax-seul -wall -wextra -wno-déprécis -std = c ++ 11 myheader.h



4
votes

Fabriquez un fichier CPP qui ne comprend que l'en-tête et la compilez;)


0 commentaires

0
votes

Je m'assure généralement que chaque en-tête est inclus par un fichier source. Si, par exemple, une bibliothèque que je développe est d'en-tête uniquement, j'écris spécifiquement un test de l'unité Bare-Bones spécifiquement pour inclure des en-têtes autonomes et une instanciation de test de tous les modèles de cet en-tête.


0 commentaires

19
votes

-fsyntax-seul

fait exactement ce que vous voulez: xxx

man g ++ dit: xxx


2 commentaires

Je pense que cette réponse doit être marquée aussi correcte qu'elle explique une solution exacte pour le problème, pas seulement de la sollicitation.


La vérification du type est également effectuée (c'est-à-dire une vérification sémantique statique est effectuée au-delà de la lexicale et de la syntaxe)