2008-10-20 6 views

Répondre

8

Le niveau d'avertissement le plus élevé sur Visual C++ est/Wall. Le niveau d'avertissement peut également être réglé numériquement avec/W0,/W1, .../W4 pour générer des niveaux d'avertissement croissants.

Le compilateur vérifie aussi pour les problèmes de portabilité 64 bits avec/Wp64.

Et vous pouvez dire pour traiter les avertissements comme des erreurs avec/WX

Visual C++ ne semble pas avoir un réel équivalent à -pedantic - qui demande gcc de signaler tous les avertissements qui doivent être déclarés par le Normes ISO C et C++.

1

/W4 /Wall devrait faire l'affaire.

2

Notez que/Wp64 n'est pas recommandée par Microsoft, par opposition à la compilation directement pour la plate-forme 64 bits si possible.

Notez également que l'édition Developer Team a une option/analyse, qui ajoute la vérification sémantique pour les erreurs de code commun. Vous pouvez également regarder obtenir PC-lint de gimpel pour une vérification sémantique supplémentaire.

+0

L'information correcte est que lorsque possible, la compilation directe pour la plate-forme 64 bits est préférable à l'utilisation de l'option/Wp64. –

+0

Oui; plus spécifiquement/Wp64 peut donner des avertissements erronés et ne pas donner les avertissements appropriés comparé à compiler directement pour 64 bits. – Nick

+0

La partie amusante est que la compilation pour 64 bits sans/Wp64 vous permettra de tronquer les pointeurs à gauche et à droite sans avoir d'avertissement. – bk1e

4

AS billmcc64 mentioned, gped -cedantic demande à gcc de vous avertir si vous utilisez des extensions non standard. Je ne pense pas que MSVC puisse vous avertir d'une situation similaire, mais vous pouvez provoquer une erreur dans ces situations en utilisant l'option/Za.