Que signifie “Mur” en “g++ -Wall test.cpp -o test de” faire?
-o modification du nom de fichier de sortie (j'ai trouvé que l'utilisation de --help)
Mais je ne peut pas savoir ce -Wall
n'?
- "l'homme gcc" sur votre console vous dit tout sur cet indicateur et une simple recherche sur google avec "gcc -Wall" ainsi...
- Comme une pointe générale, essayez de lire le
man
les inscriptions pour les programmes si vous voulez savoir ce que le commutateur n', ou ce que les commutateurs sont disponibles. Leman
page degcc
peut être lu sur linux.die.net/man/1/gcc - vous pouvez faire une recherche rapide il y a le texte "Mur" - Sauter, Google ne trouve pas quelque chose avec le "mur". Il exclut toutes "mur" de la recherche.
- Pas si vous utilisez des guillemets, comme je l'ai devine David moyenne
- Voir les citations dans mon commentaire? 🙂
- Il n'est pas clair que les citations doivent être placés dans la chaîne de recherche 🙂 de toute façon "l'homme gcc" est un excellent conseil.
- Vous n'avez pas besoin de guillemets. Juste google
gcc wall
, en laissant de côté le signe moins. - // , J'ai toujours pensé que c'était un hommage à Larry Wall.
Vous devez vous connecter pour publier un commentaire.
C'est court pour "avertir tous" -- il tourne sur (presque) toutes les mises en garde que g++ peut vous en parler. Généralement une bonne idée, surtout si vous êtes un débutant, parce que la compréhension et la fixation de ces avertissements peut vous aider à résoudre toutes sortes de problèmes dans votre code.
-Wextra
et-pedantic
.-Wall -Wextra
, puis de parcourir le manuel de trouver que beaucoup de plus avertissements, vous pouvez activer que possible, parce que même-Wextra
est seulement un petit sous-ensemble...-Wunreachable-code
quelque temps, Apple serait en bien plus heureux ces jours-ci. 😉Voir le man de gcc.
-Mur tourne sur ces mises en garde:
-Wextra contient:
Il y a beaucoup plus de mises en garde que vous devez activer explicitement.
E. g. de notre C code que nous utilisons:
-Wall-Wextra -Waggregate-retour-Wcast-align Wcast-qual-Wdisabled-optimisation -Wdiv-par-zéro -Wendif-étiquettes -Wformat-extra-args -Wformat-non littérale -Wformat-sécurité -Wformat-y2k-Wimplicit -Wimport -Winit-auto -Ligne -Winvalid-pch -Wjump-manque-init -Wlogical-op -Werror=manquant-croisillons -Wmissing-déclarations-Wno-missing-format-attribut -Wmissing-inclure-dirs -Wmultichar -Wpacked -Wpointer-arith -Wreturn-type -Wsequence-point -Wsign-comparer -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-par défaut -Werror=undef -Wno-inutilisé -Wvariadic-macros-Wwrite-strings -Wc++-compat -Werror=déclaration après déclaration -Werror=implicite-fonction-déclaration -Wmissing-prototypes -Werror=nested-externes -Werror=vieux-style-définition -Werror=strict prototypes
ou tout simplement l'ensemble des avertissements avec https://www.gnu.org/software/autoconf-archive/ax_compiler_flags.html
Malheureusement, aucune réponse ne cite en fait partie pertinente de manuel, qui apporte vraiment à un point:
Ergo:
-Wall
ne pas dire "tous les avertissements".Ligne de fond, il est sur le minimum absolu de mises en garde que vous devez définir. Alors que
-Wall -Wextra
est mieux, c'est encore de ne pas faire usage de toutes les erreurs de la vérification de votre compilateur peut faire pour vous.Personnellement, je n'irais pas pour moins de
-Wall -Wextra -Wfloat-equal -Wundef -Wcast-align -Wwrite-strings -Wlogical-op -Wmissing-declarations -Wredundant-decls -Wshadow -Woverloaded-virtual
. Tous mes projets en cours en fait utiliser une liste de mises en garde plus longtemps (sans déclenchement de l'un d'eux). Et je ne, consultez le manuel à chaque version majeure pour de nouvelles options. Le compilateur est votre ami. Utiliser tous les diagnostics qu'il peut vous offrir.-Wall -Wextra -Wfloat-equal -Wundef -Wcast-align -Wwrite-strings -Wlogical-op -Wmissing-declarations -Wredundant-decls -Wshadow -Woverloaded-virtual
alors que je compile avecg++ -std=c++11
pendant que j'apprends le c++ et de la programmation? Ou dois-je ignorer cette partie et commencer à utiliser les messages d'erreur drapeaux plus tard? Si oui, quand devrais-je commencer avec les messages d'erreur?Permet des avertissements qui sont jugées utiles et facile d'éviter à la source par gcc écrivains. Il y a aussi-W (-Wextra dans les versions plus récentes), qui sont considérés comme utiles, mais pour qui travaillent-arounding de faux positifs peut être difficile ou entraîner maladroit code.
gcc a également un tas d'autres avertissements, généralement moins utiles. Voir http://gcc.gnu.org/onlinedocs/gcc-4.4.3/gcc/Warning-Options.html#Warning-Options
Il
enables most warning messages
.Vous pouvez trouver plus d'informations si vous utilisez
g++ --help=warnings
.Il permet à tous les avertissements. (se lit "d'Avertissement à Tous")
Il montre tous les avertissements. Je vous recommande également d'utiliser
-pedantic
à mettre en garde sur certains de la non-conforme des parties de code.