-Wextra comment utile est-il vraiment?
Je suis en train de lire le manuel de gcc pour le moment, en particulier la partie sur d'avertissement/d'erreur drapeaux. Après avoir lu la partie concernant l'-Wextra drapeau, je me demande si c'est utile à tous. Il semble qu'il se plaint à propos de choses qui semblent être plutôt subjective ou une question de goût. Je ne suis pas expérimenté avec gcc, je ne l'utilise que de temps à autre, pour quelques petits projets à l'université, donc, pour tous expérimenté en C/C++ (ou quelque soit la langue que vous utilisez gcc), qu'est-ce qu'-Wextra?
OriginalL'auteur helpermethod | 2010-05-22
Vous devez vous connecter pour publier un commentaire.
-Wextra
, entre autres choses implique-Wtype-limites
:Je trouve ce vraiment utile.
OriginalL'auteur nc3b
Je l'habitude d'ajouter
-Wno-sign-compare
et-Wno-unused-parameter
pour supprimer le bruit.L'implicite
-Wuninitialized
(avec le-O2
option) a été très utile pour moi, mais en ajoutant d'abord à votre base de code peut être un peu intimidant. Une façon de traiter cette question est d'ajouter deux macros (qui ont l'air un peu étrange: le signe égal est intentionnel):Ensuite, vous pouvez rapidement supprimer la gcc mises en garde et obtenir un nettoyage de la compilation en utilisant par exemple:
Alors comme une étape facultative de revenir en arrière et vérifier ces ajouts, et de les changer un par un pour ELIMINATE_GCC_WARNING. Cela peut être lent. Mais je serais surpris si vous ne trouvez pas certains bugs existants.
-Wno-unused-parameter
utile, surtout quand le vieux code source de changements au cours des années, parfois les valeurs transmises fonctions imbriquées ne sont même pas utilisés. Suggèrent de définir INUTILISÉS.#define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))
Ensuite, vous pouvez insérer des arguments comme cela...void func(int a, int UNUSED(b)) { ... }
il est aussi agréable que si l'argument doit être utilisé plus tard sur GCC ne sera pas laisser cela se produire, sans enlever le INUTILISÉS() attribut.OriginalL'auteur Joseph Quinsey
Veuillez voir http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html.
Par conséquent, il n'est pas seulement utile pour "toujours vrai" comparaison (-Wsign-comparer), mais l'identification d'autres compilations. Je trouve qu'il est utile souvent.
OriginalL'auteur Soumya Kanti