** Por favor, participe desta enquete para um recurso planejado por mim **
O CPPCHECK é uma ferramenta de análise estática para o código C/C ++. Ele fornece análise de código exclusiva para detectar bugs e se concentra na detecção de comportamentos indefinidos e construções de codificação perigosas. O objetivo é ter muito poucos falsos positivos. O CPPCHECK foi projetado para poder analisar seu código C/C ++, mesmo que tenha sintaxe não padrão (comum em projetos incorporados).
Crie cppcheck.yml sob .github/workflows com o seguinte conteúdo
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| Opção | Valor | Descrição | Padrão |
|---|---|---|---|
| check_library | enable , disable | Mostrar mensagens de informação quando os arquivos da biblioteca têm informações incompletas | disable |
| skip_preprocessor | enable , disable | Imprima a saída do pré -processador no stdout e não faça mais processamento | disable |
| habilitar | all , warning , style , performance , portability , information , unusedFunction , missingInclude | Ativar verificações adicionais. Se você deseja ativar a verificação múltipla de uma só vez, separe -os usando , sem nenhum espaço em branco. Exemplo: style,warning,performance | all |
| exclude_check | ./path/to/ignore | Dê um caminho de arquivo ou diretório para excluir da verificação. Exemplo: ./no_check.cpp | nada para ignorar |
| inconclusivo | enable , disable | Permita que os relatórios do CPPCHECK, mesmo que a análise seja inconclusiva | enable |
| inline_suppression | enable , disable | Ativar supressões embutidas. Use-os colocando um ou mais comentários, como: '// CPPCHECK-SUPRESPRESS WARNINGID' | disable |
| Force_Language | c , c++ | Força o cppcheck a verificar todos os arquivos como o idioma fornecido. Os valores válidos são: c , c++ | detectado automaticamente |
| vigor | enable , disable | Verificação de força de todas as configurações em arquivos | disable |
| max_ctu_depth | number | Profundidade máxima em análise inteira do programa. Um valor maior significa que mais erros podem ser encontrados, mas também significa que a análise será mais lenta. Exemplo: 4 | 2 |
| plataforma | unix32 , unix64 , win32A , win32W , win64 , avr8 , elbrus-e1cp , pic8 , pic8-enhanced , pic16 , mips32 , native , unspecified , | Especifica tipos e tamanhos específicos da plataforma | unspecified |
| std | c89 , c99 , c11 , c++11 , c++14 , c++17 , c++20 | Defina o padrão C/C ++ | c11 , c++20 |
| output_File | ./path/to/output/file.txt | Dê um nome de arquivo para o relatório de saída | ./cppcheck_report.txt |
| outros_options | --option1 --option2=value -opt3 | Quaisquer outras opções que você queira adicionar, separadas com um espaço, opções erradas causarão uma falha. Exemplo: --bug-hunting --verbose | disable |
Para mais detalhes, verifique as documentações do CPPCHECK
MIT Licença
Copyright (C) 2021 Dipankar Pal
A permissão é concedida, gratuita, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "software"), para lidar com o software sem restrição, inclusive sem limitação os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, mobilizar o software e/ou vender cópias do software e permitir que as pessoas a quem
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou em partes substanciais do software.
O software é fornecido "como está", sem garantia de qualquer tipo, expresso ou implícito, incluindo, entre outros, as garantias de comercialização, aptidão para uma finalidade específica e não innoculação. Em nenhum caso os autores ou detentores de direitos autorais serão responsáveis por qualquer reclamação, danos ou outro passivo, seja em uma ação de contrato, delito ou não, decorrente de, fora ou em conexão com o software ou o uso ou outras negociações no software.
Ícones feitos por Freepik em www.flaticon.com
Obrigado a essas pessoas maravilhosas (key emoji):
Bader | Stefan Hagen ? |
Este projeto segue a especificação de todos os contribuintes. Contribuições de qualquer tipo de boas -vindas!