** يرجى المشاركة في هذا الاستطلاع للحصول على ميزة مخطط لها **
CppCheck هي أداة تحليل ثابت لرمز C/C ++. يوفر تحليلًا فريدًا من التعليمات البرمجية للكشف عن الحشرات ويركز على اكتشاف السلوك غير المحدد وإنشاءات الترميز الخطرة. الهدف هو أن يكون لديك عدد قليل جدًا من الإيجابيات الخاطئة. تم تصميم CPPCheck ليكون قادرًا على تحليل رمز C/C ++ الخاص بك حتى لو كان يحتوي على بناء جملة غير قياسي (شائع في المشاريع المدمجة).
إنشاء cppcheck.yml تحت .github/workflows مع المحتويات التالية
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| خيار | قيمة | وصف | تقصير |
|---|---|---|---|
| check_library | enable ، disable | إظهار رسائل المعلومات عندما يكون لملفات المكتبة معلومات غير مكتملة | disable |
| Skip_preprocessor | enable ، disable | طباعة الإخراج قبل المعالج على stdout ولا تفعل أي معالجة إضافية | disable |
| يُمكَِن | all ، warning ، style ، performance ، portability ، information ، unusedFunction ، missingInclude | تمكين شيكات إضافية. إذا كنت ترغب في تمكين فحص متعدد في وقت واحد ، افصلها باستخدام , دون أي مساحة فارغة. مثال: style,warning,performance | all |
| isclude_check | ./path/to/ignore | إعطاء ملف أو مسار دليل لاستبعاده من التحقق. مثال: ./no_check.cpp | لا شيء لتجاهله |
| غير حاسم | enable ، disable | السماح بتقارير CPPCheck على الرغم من أن التحليل غير حاسم | enable |
| inline_supression | enable ، disable | تمكين القمع المضمّن. استخدمها عن طريق وضع تعليق واحد أو أكثر ، مثل: '// cppcheck-supubress warningid' | disable |
| Force_Language | c ، c++ | قوات cppcheck للتحقق من جميع الملفات كلغة معينة. القيم الصالحة هي: c ، c++ | المكتشف تلقائيا |
| قوة | enable ، disable | إجبار التحقق من جميع التكوينات في الملفات | disable |
| max_ctu_depth | number | أقصى عمق في تحليل البرنامج بأكمله. ستعني القيمة الأكبر أن هناك المزيد من الأخطاء ولكن يعني أيضًا أن التحليل سيكون أبطأ. مثال: 4 | 2 |
| منصة | unix32 ، unix64 ، win32A ، win32W ، win64 ، avr8 ، elbrus-e1cp ، pic8 ، pic16 pic8-enhanced PIC16 mips32 ، native ، unspecified ، | يحدد أنواع وأحجام محددة من النظام الأساسي | unspecified |
| الأمراض المنقولة جنسيا | c89 ، c99 ، c11 ، c++11 ، c++14 ، c++17 ، c++20 | اضبط معيار C/C ++ | c11 ، c++20 |
| output_file | ./path/to/output/file.txt | إعطاء اسم ملف لتقرير الإخراج | ./cppcheck_report.txt |
| other_options | --option1 --option2=value -opt3 | أي خيارات أخرى تريد إضافتها ، منفصلة عن مساحة ، ستؤدي الخيارات الخاطئة إلى فشل. مثال: --bug-hunting --verbose | disable |
لمزيد من التفاصيل ، تحقق من وثائق CPPCHECK
رخصة معهد ماساتشوستس للتكنولوجيا
حقوق الطبع والنشر (ج) 2021 Dipankar Pal
يتم منح الإذن بموجب هذا ، مجانًا ، لأي شخص يحصل على نسخة من هذا البرنامج وملفات الوثائق المرتبطة به ("البرنامج") ، للتعامل في البرنامج دون تقييد ، بما في ذلك على سبيل المثال لا الحصر حقوق استخدام الأشخاص ونسخها ودمجها ودمجها وتوزيعها وتوزيعها على ما يلي:
يجب إدراج إشعار حقوق الطبع والنشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الكبيرة من البرنامج.
يتم توفير البرنامج "كما هو" ، دون أي ضمان من أي نوع ، صريح أو ضمني ، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق واللياقة لغرض معين وعدم الانفجار. لا يجوز بأي حال من الأحوال أن يكون المؤلفون أو حاملي حقوق الطبع والنشر مسؤولاً عن أي مطالبة أو أضرار أو مسؤولية أخرى ، سواء في إجراء عقد أو ضرر أو غير ذلك ، ناشئة عن أو خارج البرنامج أو الاستخدام أو غيرها من المعاملات في البرنامج.
الرموز التي صنعتها Freepik من www.flaticon.com
شكراً لهؤلاء الأشخاص الرائعين (مفتاح الرموز التعبيرية):
بدر | ستيفان هاجن ؟ |
يتبع هذا المشروع مواصفات جميع المساهمين. مساهمات من أي نوع ترحيب!