In generale, abilito tutti gli avvisi e quindi rimuovo questi flag in modo selettivo che forniscono uscite inutili. In uno dei miei progetti, io uso il seguente C e C++ avvertimenti:
-pedantic
-Wall
-Wextra
-Wformat=2
-Wmissing-include-dirs
-Wswitch-default
-Wswitch-enum
-Wunused
-Wstrict-aliasing=1
-Wfloat-equal
-Wundef
-Wunsafe-loop-optimizations
-Wpointer-arith
-Wcast-qual
-Wcast-align
-Wwrite-strings
-Wconversion
-Wmissing-format-attribute
-Wpacked
-Wredundant-decls
-Winvalid-pch
-Wvolatile-register-var
-Wsync-nand
-Wsign-conversion
-Wlogical-op
-Wmissing-declarations
-Wmissing-noreturn
-Wstrict-overflow=5
-Wstack-protector
Inoltre, io uso i seguenti C bandiere ++:
-std=c++98
-Wnon-virtual-dtor
-Wctor-dtor-privacy
-Wstrict-null-sentinel
-Woverloaded-virtual
-Wsign-promo
Inoltre, per il build di rilascio è possibile attivare le seguenti avvertenze:
-pedantic-errors
-Werror
-Wuninitialized
-Winit-self
-Wdisabled-optimization
trovo fastidioso che -Wall
consente solo il minimo assoluto di avvertimenti al posto di "tutti", come dice il nome.
Forse controllare la documentazione? – asveikau
Duplicato di http://stackoverflow.com/questions/399850/best-compiler-warning-level-for-c-c-compilers. – EmeryBerger
Mi è mancato, mi dispiace. – peoro