** Harap berpartisipasi dalam jajak pendapat ini untuk fitur yang direncanakan oleh saya **
CPPCHECK adalah alat analisis statis untuk kode C/C ++. Ini memberikan analisis kode yang unik untuk mendeteksi bug dan berfokus pada mendeteksi perilaku yang tidak terdefinisi dan konstruksi pengkodean berbahaya. Tujuannya adalah untuk memiliki sangat sedikit positif palsu. CPPCHECK dirancang untuk dapat menganalisis kode C/C ++ Anda bahkan jika memiliki sintaks non-standar (umum dalam proyek tertanam).
Buat cppcheck.yml di bawah .github/workflows dengan konten berikut
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| Pilihan | Nilai | Keterangan | Bawaan |
|---|---|---|---|
| check_library | enable , disable | Tampilkan pesan informasi saat file perpustakaan memiliki info yang tidak lengkap | disable |
| Skip_preprocessor | enable , disable | Cetak output preprocessor di stdout dan jangan lakukan pemrosesan lebih lanjut | disable |
| memungkinkan | all , warning , style , performance , portability , information , unusedFunction missingInclude | Aktifkan cek tambahan. Jika Anda ingin mengaktifkan beberapa pemeriksaan sekaligus, pisahkan mereka menggunakan , tanpa ruang kosong. Contoh: style,warning,performance | all |
| EXCULDUDE_CHECK | ./path/to/ignore | Berikan file atau jalur direktori untuk mengecualikan dari pemeriksaan. Contoh: ./no_check.cpp | tidak ada yang bisa diabaikan |
| tidak meyakinkan | enable , disable | Izinkan laporan CPPCheck meskipun analisisnya tidak meyakinkan | enable |
| inline_suppression | enable , disable | Aktifkan penekan inline. Gunakan mereka dengan menempatkan satu atau lebih komentar, seperti: '// cppcheck-suppress warningid' | disable |
| Force_Language | c , c++ | Memaksa CPPCheck untuk memeriksa semua file sebagai bahasa yang diberikan. Nilai yang valid adalah: c , c++ | terdeteksi secara otomatis |
| memaksa | enable , disable | Memaksa memeriksa semua konfigurasi dalam file | disable |
| max_ctu_depth | number | Kedalaman maksimal dalam analisis seluruh program. Nilai yang lebih besar akan berarti lebih banyak kesalahan dapat ditemukan tetapi juga berarti analisis akan lebih lambat. Contoh: 4 | 2 |
| platform | unix32 , unix64 , win32A , win32W , win64 , avr8 , elbrus-e1cp , pic8 , pic8-enhanced , pic16 , mips32 , native , unspecified , | Menentukan jenis dan ukuran platform tertentu | unspecified |
| std | c89 , c99 , c11 , c++11 , c++14 , c++17 , c++20 | Atur standar C/C ++ | c11 , c++20 |
| output_file | ./path/to/output/file.txt | Berikan nama file untuk laporan output | ./cppcheck_report.txt |
| Other_options | --option1 --option2=value -opt3 | Opsi lain yang ingin Anda tambahkan, terpisah dengan ruang, opsi yang salah akan menyebabkan kegagalan. Contoh: --bug-hunting --verbose | disable |
Untuk perincian lebih lanjut, periksa dokumentasi cppcheck
Lisensi MIT
Hak Cipta (C) 2021 Pal Dipankar
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
Pemberitahuan hak cipta di atas dan pemberitahuan izin ini harus dimasukkan dalam semua salinan atau bagian substansial dari perangkat lunak.
Perangkat lunak ini disediakan "sebagaimana adanya", tanpa jaminan apa pun, tersurat maupun tersirat, termasuk tetapi tidak terbatas pada jaminan dapat diperjualbelikan, kebugaran untuk tujuan tertentu dan nonpringement. Dalam hal apa pun penulis atau pemegang hak cipta tidak akan bertanggung jawab atas klaim, kerusakan atau tanggung jawab lainnya, baik dalam tindakan kontrak, gugatan atau sebaliknya, timbul dari, di luar atau sehubungan dengan perangkat lunak atau penggunaan atau transaksi lain dalam perangkat lunak.
Ikon yang dibuat oleh Freepik dari www.flaticon.com
Terima kasih kepada orang -orang yang luar biasa ini (Kunci Emoji):
Bader | Stefan Hagen ? |
Proyek ini mengikuti spesifikasi semua-kontributor. Kontribusi apa pun yang baik!