تم بالفعل إطلاق الإصدار الجديد من cppcheck 2.6 وهذه هي أخباره

الافراج عن إصدار محلل الكود الثابت cppcheck 2.6 تحديثأن يسمح باكتشاف أنواع مختلفة من الأخطاء في كود C و C ++حتى عند استخدام بناء جملة غير قياسي نموذجي للأنظمة المدمجة.

يتم توفير مجموعة من المكونات الإضافية التي من خلالها يتم توفير تكامل cppcheck مع العديد من التطوير والتكامل المستمر وأنظمة الاختبار ، بالإضافة إلى ميزات مثل التحقق من توافق الكود مع أسلوب الترميز.

لتحليل الكود ، يمكنك استخدام كل من المحلل اللغوي الخاص بك ومحلل Clang الخارجي. كما يشتمل أيضًا على برنامج نصي donate-cpu.py لتوفير موارد محلية لأعمال مراجعة الكود التعاوني لحزم دبيان.

تطوير cppcheck يركز على تحديد المشاكل المرتبطة بالسلوك غير المحدد واستخدام التركيبات التي تشكل خطورة من وجهة نظر السلامة.

الهدف أيضًا هو تقليل الإيجابيات الكاذبة. من بين المشاكل التي تم تحديدها: المؤشرات إلى كائنات غير موجودة ، والقسمة على الصفر ، وتجاوز الأعداد الصحيحة ، وعمليات تبديل البت السيئة ، والتحويلات السيئة ، ومشاكل الذاكرة ، والاستخدام غير الصحيح لـ STL ، وإلغاء الإشارة إلى المؤشرات الفارغة ، وتطبيق الشيكات بعد وصول حقيقي إلى المخزن المؤقت ، تجاوز حدود المخزن المؤقت ، باستخدام متغيرات غير مهيأة.

الميزات الجديدة الرئيسية لبرنامج cppcheck 2.6

في هذا الإصدار الجديد sلقد أضافت e فحوصات مختلفة إلى نواة المحلل اللغوي، من بينها التحقق من عدم وجود بيان عودة في جسم الوظيفة ، بالإضافة إلى تسجيلات البيانات المتداخلة ، وتعريفات السلوك غير المحددة وأيضًا التحقق من القيمة التي تتم مقارنتها خارج نطاق التمثيل من قيمة النوع.

حداثة أخرى تبرز هي لا ينطبق تحسين النسخ على إرجاع std :: move (محلي) ؛، بالإضافة إلى دعم عرض الرسائل التشخيصية بألوان مختلفة لأنظمة Unix ووسم المكتبة يمكن أن تحتوي الآن على علامة للمؤشرات الذكية التي لها خاصية فريدة. يتم الآن إصدار تحذير الارتباط المتدلي لهذا النوع من المؤشرات الذكية.

وبالإضافة إلى ذلك، تم تنفيذ ضوابط Misra C 2012 بالكامل ، بما في ذلك التعديل 1 والتعديل 2 ، باستثناء القواعد 1.1 و 1.2 و 17.3. يجب أن يقوم المترجم بإجراء الشيكات 1.1 و 1.2. يمكن لمترجم مثل GCC التحقق من 17.3.

من التغييرات الأخرى التي تبرز من هذا الإصدار الجديد:

  • لا يمكن فتح الملف في وقت واحد للقراءة والكتابة في تدفقات مختلفة ؛
  • إضافة تحليل رمزي لـ ValueFlow. يتم استخدام دلتا بسيطة عند حساب الفرق بين متغيرين غير معروفين ؛
  • القواعد المستخدمة لقائمة الرموز المميزة "تعريف" يمكن أن تتطابق أيضًا مع #include؛
  • علامة المكتبة يمكن أن تحتوي الآن على علامة وبالتالي وظائف مجانية يمكنها قبول حاويات مثل std :: size و std :: blank و std :: begin و std :: end وما إلى ذلك. يمكنك تحديد الحقل أو الإجراء للحاويات ؛
  • تم إصلاح المشكلات المتعلقة بمعالجة المعلمة –cppcheck-build-dir ؛
    يمكن الآن لتقرير html طباعة معلومات عن المؤلف (باستخدام git blame) ؛
  • إطالة إصدار التحذيرات بشأن المتغيرات غير الثابتة ، ولكن يمكن أن تصبح ثابتة ؛
  • تم إصلاح أخطاء وأوجه القصور المتراكمة في المحلل.

أخيرًا ، إذا كنت مهتمًا بمعرفة المزيد عن هذا الإصدار الجديد ، فيمكنك الرجوع التفاصيل في الرابط التالي.

كيفية تثبيت cppcheck على Linux؟

بالنسبة لأولئك المهتمين بالقدرة على تثبيت cppcheck على توزيعة Linux الخاصة بهم ، يمكنهم اتباع الإرشادات التي نشاركها أدناه.

إذا كنت من مستخدمي دبيان أو أي توزيعة أخرى مبنية عليها أو مشتقة منها مثل Deepin أو Ubuntu ، فيمكنك التثبيت مباشرة من الجهاز الطرفي عن طريق كتابة الأمر التالي:

sudo apt-get install cppcheck

الآن بالنسبة لمستخدمي Fedora والمشتق منهم ، يمكنهم إجراء التثبيت عن طريق كتابة الأمر التالي:

sudo yum instalar cppcheck

أو بالنسبة لمستخدمي Arch Linux أو أي مشتق آخر منه ، يمكنهم التثبيت باستخدام الأمر التالي:

sudo pacman -S cppcheck


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.