Spesso in C sotto gcc
, inizierò con il seguente set di flag di avviso (assemblati dolorosamente da più fonti):
-Wall -Wextra -Wformat-nonliteral -Wcast-align -Wpointer-arith -Wbad-function-cast \
-Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Winline -Wundef \
-Wnested-externs -Wcast-qual -Wshadow -Wwrite-strings -Wno-unused-parameter \
-Wfloat-equal -pedantic -ansi
Costruirò (almeno le mie versioni di debug) con questo set di avvisi e sistemerò tutto ciò che posso (di solito tutto), quindi rimuoverò solo i flag se non sono rilevanti o non risolvibili (quasi mai il caso). A volte, aggiungo anche -Werror
se devo allontanarmi durante la compilazione.
Sto solo imparando il C ++ (sì, sono indietro di 15 anni rispetto ai tempi) e vorrei iniziare con il piede giusto.
La mia domanda è: qualcuno ha un set simile precompilato di flag di avviso completi per C ++ sotto g++
? (So che molti di loro saranno gli stessi.)
-Weverything
. Ho letto che anche gli sviluppatori di Clang ++ sono un po 'preoccupati per gli utenti che lo accendono; apparentemente era inteso solo per uso di sviluppo interno. Questo non ha senso, tuttavia, perché l'attivazione -Weverything
è probabilmente il modo migliore per scoprire avvisi potenzialmente utili che non conoscevi prima.
-Wall
) è una-Wbloody_everything
bandiera :-)