2017-10-15 3 views
0

Je prends une classe c + + dans mon école et je me demande s'il y a un moyen facile de dire au compilateur d'être plus strict avec mon programme. En particulier, je veux que mon compilateur me dise si mon programme ne respecte pas la norme C++ 11, c'est-à-dire. Je veux être compris, donc voici une situation hypothétique. Disons que j'ai écrit un programme et qu'il se compile bien. Mais il compilé parce que le compilateur était juste gentil avec moi et comprenait ce que je voulais faire. Je veux que le compilateur me dise Je peux compiler votre programme, mais ce fragment ne devrait pas ressembler à ceci.Comment vérifier si mon programme est conforme à une norme particulière?

+0

notez que la norme permet différents niveaux de «sous-spécification», allant du comportement dépendant de la plate-forme jusqu'au comportement indéfini ... notez que même un comportement indéfini standard peut être parfaitement légal sous une combinaison compilateur/environnement ... –

+0

de vue - vous devez sélectionner plusieurs compilateurs comme gcc, clang, cl (Visual studio). Dans gcc et clang, vous pouvez spécifier le niveau d'avertissement standard et pédanté désiré, dans VS, vous désactivez "Language Extensions" - Il ne semble pas que vous puissiez choisir une saveur de stanrdard spécifique. Mais si vous pouvez compiler votre code avec les 3 compilateurs - c'est probablement plus ou moins standard ... –

Répondre

0

Je veux que le compilateur me dise que je peux compiler votre programme, mais ce fragment ne devrait pas ressembler à ceci.

Ceci est partiellement fait avec des avertissements. Mais cependant surtout sur un niveau de conformité micro seulement.

L'inspection d'une plus grande conformité de partie de code est plus le travail d'un outil d'analyse statique. En outre, la plupart des bons sont commerciaux, il y a un assez bon projet open source basé sur clang IIRC. Qu'entendez-vous par "conforme à la norme"?