** Veuillez participer à ce sondage pour une fonctionnalité prévue par moi **
CPPCHECK est un outil d'analyse statique pour le code C / C ++. Il fournit une analyse de code unique pour détecter les bogues et se concentre sur la détection d'un comportement non défini et des constructions de codage dangereuses. L'objectif est d'avoir très peu de faux positifs. CPPCheck est conçu pour être en mesure d'analyser votre code C / C ++ même s'il a une syntaxe non standard (commun dans les projets embarqués).
Créez cppcheck.yml sous .github/workflows avec le contenu suivant
name : cppcheck-action-test
on : [push]
jobs :
build :
name : cppcheck-test
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
- name : cppcheck
uses : deep5050/cppcheck-action@main
with :
github_token : ${{ secrets.GITHUB_TOKEN}}
- name : publish report
uses : mikeal/publish-to-github-action@master
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
BRANCH_NAME : ' main ' # your branch name goes here name : cppcheck-action
on : [push]
jobs :
build :
name : cppcheck
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
- name : cppcheck
uses : deep5050/cppcheck-action@main
with :
github_token : ${{ secrets.GITHUB_TOKEN}}
check_library :
skip_preprocessor :
enable :
exclude_check :
inconclusive :
inline_suppression :
force_language :
force :
max_ctu_depth :
platform :
std :
output_file :
other_options :
- name : publish report
uses : mikeal/publish-to-github-action@master
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
BRANCH_NAME : ' main ' # your branch name goes here| Option | Valeur | Description | Défaut |
|---|---|---|---|
| Check_Library | enable , disable | Afficher les messages d'information lorsque les fichiers de bibliothèque ont des informations incomplètes | disable |
| skip_preprocessor | enable , disable | Imprimez la sortie du préprocesseur sur STDOUT et ne effectuez aucun traitement supplémentaire | disable |
| activer | all , warning , style , performance , portability , information , unusedFunction , missingInclude | Activer les contrôles supplémentaires. Si vous souhaitez activer plusieurs vérifications en même temps, séparez-les en utilisant , sans aucun espace vierge. Exemple: style,warning,performance | all |
| exclure_check | ./path/to/ignore | Donnez un fichier ou un chemin de répertoire pour exclure de la vérification. Exemple: ./no_check.cpp | Rien à ignorer |
| peu concluant | enable , disable | Autorisez les rapports CPPCheck même si l'analyse n'est pas concluante | enable |
| inline_suppression | enable , disable | Activer les suppressions en ligne. Utilisez-les en plaçant un ou plusieurs commentaires, comme: '// Cppcheck-Suppress WarningId' | disable |
| Force_Language | c , c++ | Forces CPPCHECK pour vérifier tous les fichiers comme la langue donnée. Les valeurs valides sont: c , c++ | auto-détecté |
| forcer | enable , disable | Force la vérification de toutes les configurations dans des fichiers | disable |
| max_ctu_depth | number | Profondeur maximale dans l'analyse du programme entier. Une valeur plus grande signifiera que plus d'erreurs peuvent être trouvées, mais signifie également que l'analyse sera plus lente. Exemple: 4 | 2 |
| plate-forme | unix32 , unix64 , win32A , win32W , win64 , avr8 , elbrus-e1cp , pic8 , pic8-enhanced , pic16 , mips32 , native , unspecified , | Spécifie les types et tailles spécifiques à la plate-forme | unspecified |
| MST | c89 , c99 , c11 , c++11 , c++14 , c++17 , c++20 | Réglez la norme C / C ++ | c11 , c++20 |
| output_file | ./path/to/output/file.txt | Donnez un nom de fichier pour le rapport de sortie | ./cppcheck_report.txt |
| autres_options | --option1 --option2=value -opt3 | Toutes les autres options que vous souhaitez ajouter, séparer avec un espace, les mauvaises options entraîneront un échec. Exemple: --bug-hunting --verbose | disable |
Pour plus de détails, consultez les documents CPPCheck
Licence MIT
Copyright (C) 2021 Dipankar Pal
L'autorisation est accordée gratuitement à toute personne qui obtient une copie de ce logiciel et des fichiers de documentation associés (le "logiciel"), pour traiter le logiciel sans restriction, y compris sans limiter les droits d'utilisation, de copie, de modification, de fusion, de publication, de distribution, de sublince et / ou de vendre des copies des conditions suivantes.
L'avis de droit d'auteur ci-dessus et le présent avis d'autorisation sont inclus dans toutes les copies ou des parties substantielles du logiciel.
Le logiciel est fourni "tel quel", sans garantie d'aucune sorte, express ou implicite, y compris, mais sans s'y limiter, les garanties de qualité marchande, d'adéquation à un usage particulier et de non-contrefaçon. En aucun cas, les auteurs ou les détenteurs de droits d'auteur ne seront pas responsables de toute réclamation, dommage ou autre responsabilité, que ce soit dans une action de contrat, de délit ou autre, découlant de, hors du logiciel ou de l'utilisation ou d'autres relations dans le logiciel.
Icônes faites par Freepik sur www.flacon.com
Merci à ces gens merveilleux (clé emoji):
Badre | Stefan Hagen ? |
Ce projet suit les spécifications de tous les contributeurs. Contributions de toute nature bienvenue!