Comment utiliser l'option de filtre de suppression en ligne de cppcheck pour le code C++?
j'aimerais utiliser Cppcheck pour l'analyse de code statique de mon code C++. J'ai appris que je peux supprimer une sorte d'Avertissements avec --inline-suppr
la commande.
Cependant, je ne trouve pas ce que "suppressed_error_id" je devrais mettre dans le commentaire:
// cppcheck-suppress "suppressed_error_id"
4 réponses
Selon le cppcheck aider:
L'erreur id est l'id que vous souhaitez réprimer. La façon la plus simple de l'obtenir est d'utiliser le drapeau --xml de la ligne de commande. Copier et coller la chaîne d'id xml de sortie.
alors exécutez cppcheck contre un code qui contient l'erreur avec le --xml
flag, puis regarder dans le fichier XML généré pour trouver son nom.
vous pouvez modifier le modèle de sortie pour afficher l'identifiant d'erreur de la ligne de commande, ce qui est assez soigné.
pour une sortie au format Visual Studio avec l'id d'erreur affiché, ajoutez ceci à votre ligne de commande:
--template "{file}({line}): {severity} ({id}): {message}"
Cela va produire quelque chose comme ceci:
s:\src\jpeg.cpp(123): error (bufferAccessOutOfBounds): Buffer access out-of-bounds: abRY
que vous pouvez supprimer en ajoutant la ligne:
// cppcheck-suppress bufferAccessOutOfBounds
À la ligne précédente dans le fichier source.
Selon cppcheck page de manuel de, vous pouvez utiliser le --template
option pour changer la sortie par défaut pour inclure l'id, par exemple
cppcheck /the/src/file --template='{file}:{line},{severity},{id},{message}'
Si vous utilisez l'interface graphique, vous pouvez faire un clic droit sur le message que vous souhaitez supprimer pour faire apparaître un menu. Sélectionnez "Copier l'id du message". Collez l'id du message dans votre code à la place de "suppressed_error_id".