Recentemente ho corretto un bug che è stato il risultato di qualcosa comeflag gcc per rilevare la concatenazione letterale stringa?
const char *arr[] = {
"string1", //some comment
"string2",
"string3" //another comment
"string4",
"string5"
};
cioè qualcuno ha dimenticato una, dopo "stringa3", e "stringa3" e "string4" viene incollato insieme. Ora, mentre questo è un codice perfettamente legale, c'è un flag di avviso di gcc, o un altro strumento che potrebbe scansionare la base di codice per errori simili?
dubito fortemente che ci sia una tale opzione, in quanto questo è usato in vari luoghi intenzionalmente e sarebbe produrre molti di falsi positivi. – stefan
Questo è come 'if (a = 5) DoSmth();' praticamente incatenabile. – ForceBru
La concatenazione delle stringhe viene eseguita dal preprocessore. –