Autre que -Wall, quels autres avertissements les gens ont-ils trouvé utiles?
http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Warning-Options.html
Autre que -Wall, quels autres avertissements les gens ont-ils trouvé utiles?
http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Warning-Options.html
J'utilise régulièrement:
gcc -m64 -std=c99 -pedantic -Wall -Wshadow -Wpointer-arith -Wcast-qual \
-Wstrict-prototypes -Wmissing-prototypes
Cet ensemble attire beaucoup de gens habitués (personnes dont je compile le code avec ces drapeaux pour la première fois); cela me pose rarement un problème (bien que -Wcast-qual soit occasionnellement une nuisance).
Comme de 2011-09-01, avec gcc version 4.6.1
Mon "développement" alias
gcc-std=c89 -pedantic -Wall \ -Wno-missing-croisillons -Wextra -Wno-missing-champ-des initialiseurs -Wformat=2 \ -Wswitch-par défaut -Wswitch-enum-Wcast-align Wpointer-arith \ -Wbad-fonction-cast -Wstrict-débordement=5 -Wstrict-prototypes -Ligne \ -Wundef -Wnested-externes -Wcast-qual-Wshadow -Wunreachable-code \ -Wlogical-op -Wfloat-égalité -Wstrict-aliasing=2 -Wredundant-decls \ -Wold-style-définition -Werror \ -ggdb3 \ -O0 \ -fno-omit-frame-pointer -ffloat-magasin -fno-commune -fstrict-aliasing \ -lm
La "libération" alias
gcc-std=c89 -pedantic -O3-DNDEBUG -flto -lm
Comme de 2009-11-03
le "développement" alias
gcc -Wall-Wextra -Wformat=2 -Wswitch-par défaut -Wcast-align Wpointer-arith \ -Wbad-fonction-cast -Wstrict-prototypes -Ligne -Wundef -Wnested-externs \ -Wcast-qual-Wshadow -Wwrite-strings -Wconversion -Wunreachable-code \ -Wstrict-aliasing=2 -ffloat-magasin -fno-commune -fstrict-aliasing \ -lm -std=c89 -pedantic -O0 -ggdb3 -pg --couverture
"libération" alias
gcc-lm -std=c89 -pedantic -O3-DNDEBUG-combiner -fwhole-programme -funroll-loops
J'ai commencé avec le C ++, donc quand j'ai commencé à apprendre CI, je me suis assuré d'être extra-anal:
-fmessage-length = 0 -ansi -pedantic -std = c99 -Werror -Mur -Wextra -Écriture de chaînes -Winit-self -Wcast-align -Wcast-qual -Wpointer-arith -String-aliasing -Wformat = 2 -Missions déclarées -Wmissing-include-dirs Paramètre -Non-non utilisé -Wuninitialisé -Wold-style-definition -Protection-prototypes Prototypes manquants
Obtenir le manuel de la version de GCC que vous utilisez, trouvez tous les avertissements options disponibles, puis désactiver uniquement ceux pour lesquels vous avez une impérieuse raison de le faire. (Par exemple, non modifiables tiers-têtes qui vous donnent beaucoup de mises en garde contraire.) Document de ces raisons. (Dans le Makefile ou partout où vous définissez les options.) Passez en revue les paramètres, à intervalles réguliers, et à chaque fois que vous mettez à niveau votre compilateur.
Le compilateur est votre ami. Mises en garde sont à votre ami. Donner le compilateur autant de chance de te parler des problèmes potentiels que possible.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.