Im Gegensatz cl, welche 4 Ebenen, gcc nur eine Reihe von Optionen, die Sie ein- oder ausschalten können.
Wie bereits von anderen erwähnt, ist die -Wall
ist die Standardeinstellung, die bereits auf vielen Warnungen dreht. Die -pedantic
Option fügt ein paar mehr hinzu. Und -Wextra
noch eine andere Gruppe ...
Aber um wirklich viele Warnungen zu erfassen, müssen Sie viele manuell hinzufügen.
Es gibt einen Satz ich verwenden möchte, obwohl mir jemand gesagt, dass einige von denen, widersprüchlich waren, finde ich diese Liste ziemlich gut für meine Entwicklungsarbeit:
-Werror -Wall -Wextra -pedantic -Wcast-align -Wcast-qual -Wctor-dtor-privacy -Wdisabled-optimization -Wformat=2 -Winit-self -Wlogical-op -Wmissing-include-dirs -Wnoexcept -Wold-style-cast -Woverloaded-virtual -Wredundant-decls -Wshadow -Wsign-promo -Wstrict-null-sentinel -Wstrict-overflow=5 -Wundef -Wno-unused -Wno-variadic-macros -Wno-parentheses -fdiagnostics-show-option
Bitte beachte, dass ich Gebrauch machen von -Werror
weil sonst Warnungen angezeigt werden und ignoriert werden. Mit -Werror
, nichts mehr ignorieren! Schreibe makellosen Code und deine Software funktioniert viel wahrscheinlicher als erwartet.
'-Wall -Wextra -pedantic-errors' ist ein guter Anfang, wenn nicht alles, was Sie brauchen. – chris
nur für jedermann auf Apfel mit Klirren es hat '-Weverything' – aaronman
@ Chris jedoch mit neuen GCC-Versionen (4.8.1 für mich), kann man nie mit dieser Kombination von Flaggen-Boost verwenden, wenn Sie speziell die Warnungen unterdrücken, die durch Boost-Code. '-Wunused-local-typedefs' irgendjemand? –