Domanda

Vorrei utilizzare Cppcheck per l'analisi statica del codice del mio codice C ++. Ho imparato che posso reprimere un qualche tipo di avvisi con comando --inline-suppr. Tuttavia, non riesco a trovare ciò che "suppressed_error_id" devo mettere nel commento:

// cppcheck-suppress "suppressed_error_id"
È stato utile?

Soluzione

Secondo l'aiuto cppcheck:

L'id errore è l'id che si desidera sopprimere. Il modo più semplice per farlo è quello di utilizzare il flag della riga di comando --xml. Copia e incolla la stringa id dal xml uscita.

cppcheck Così correre contro alcuni codice che contiene l'errore con la bandiera --xml, e quindi cercare nel file XML generato per trovare il suo nome.

Altri suggerimenti

È possibile modificare il modello di output per visualizzare l'ID di errore dalla riga di comando, che è abbastanza pulito.

Per un'uscita di Visual Studio formato con l'errore id visualizzata, aggiungere questo alla tua linea di comando:

--template "{file}({line}): {severity} ({id}): {message}"

Questo produrrà uscita qualcosa di simile:

s:\src\jpeg.cpp(123): error (bufferAccessOutOfBounds): Buffer access out-of-bounds: abRY

che è quindi possibile sopprimere aggiungendo la riga:

// cppcheck-suppress bufferAccessOutOfBounds

Per la riga precedente nel file di origine.

Secondo il cppcheck uomo pagina , è possibile utilizzare l'opzione di cambiare il --template predefinito uscita per includere l'id, es

cppcheck /the/src/file --template='{file}:{line},{severity},{id},{message}'

Se si utilizza l'interfaccia grafica, è possibile fare clic destro sul messaggio che si desidera eliminare per far apparire un menu. Selezionare "Copia ID messaggio". Incollare il messaggio id nel codice al posto di "suppressed_error_id".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top