د جامد کوډ تحلیل کونکي cppcheck 2.6 نوې نسخه خپره شوې ، کوم چې تاسو ته اجازه درکوي په C او C++ ژبو کې په کوډ کې د غلطیو مختلف ټولګي وپیژني ، پشمول د غیر معیاري ترکیب کارولو په شمول ، د سرایت شوي سیسټمونو لپاره عادي. د پلگ انونو ټولګه چمتو شوې چې له لارې یې cppcheck د مختلف پراختیا ، دوامداره ادغام او ازموینې سیسټمونو سره مدغم کیږي ، او دا ډول ځانګړتیاوې هم چمتو کوي لکه د کوډ سټایل سره د کوډ اطاعت چیک کول. د کوډ پارس کولو لپاره ، تاسو کولی شئ یا خپل خپل پارسر یا د کلینګ څخه بهرني پارسر وکاروئ. پدې کې د donate-cpu.py سکریپټ هم شامل دی ترڅو د ډیبیان کڅوړو لپاره د کوډ بیاکتنې کار کولو لپاره ځایی سرچینې چمتو کړي. د پروژې سرچینې کوډ د GPLv3 جواز لاندې ویشل شوی.
د cppcheck پراختیا د غیر تعریف شوي چلند سره تړلې ستونزې پیژندلو او د ډیزاینونو کارولو باندې تمرکز کوي چې د خوندیتوب له نظره خطرناک دي. موخه دا هم ده چې د غلطو مثبتو کمولو لپاره. د پیژندل شویو ستونزو په منځ کې: غیر موجود شیانو ته اشاره کول، د صفر په واسطه ویشل، د انټیجر ډیر جریان، د غلط بټ شفټ عملیات، غلط تبادله، د حافظې سره د کار کولو په وخت کې ستونزې، د STL ناسم کارول، د نول پوائنټر ډیریفرنس، د حقیقي لاسرسي وروسته د چکونو کارول بفر ته، بفر اووررن، د غیر پیل شوي متغیرونو کارول.
په نوې نسخه کې:
- لاندې چکونه د تحلیل کونکي کور کې اضافه شوي:
- د فعالیت په بدن کې د راستنیدونکي آپریټر نشتوالی؛
- د راټولولو ډاټا ثبتوي، نا تعریف شوي چلند ټاکي؛
- د پرتله کولو ارزښت د ډول د ارزښت نمایش څخه بهر دی؛
- د کاپي اصلاح کول د ستنیدو لپاره نه پلي کیږي std::move(local);
- فایل په مختلفو جریانونو کې د لوستلو او لیکلو لپاره په ورته وخت کې نشي خلاص کیدی؛
- د یونیکس پلیټ فارمونو لپاره ، په مختلف رنګونو کې د تشخیصي پیغامونو ښودلو لپاره ملاتړ اضافه شوی؛
- د ValueFlow لپاره سمبولیک تحلیل اضافه شوی. ساده ډیلټا کاروي کله چې د دوو نامعلومو متغیرونو ترمنځ توپیر محاسبه کړي؛
- د "تعریف" د ټوکن لیست لپاره کارول شوي مقررات هم کولی شي د # شاملولو سره سمون ولري؛
- د کتابتون ټګ اوس کولی شي د ټګ ولري، او د دې مطابق وړیا افعال، کوم چې کولی شي کانټینرونه ومني لکه std::size، std:: empty، std::begin، std::end، etc. د نښلونکو لپاره ییلډ یا عمل مشخص کولی شي؛
- د د کتابتون ټاګ اوس کولی شي د سمارټ پوینټرونو لپاره چې ځانګړی ملکیت لري یو ټاګ ولري. یو خبرداری اوس د دې ډول سمارټ پوینټرونو ته د خطرناکو حوالو په اړه خپور شوی؛
- د —cppcheck-build-dir پیرامیټر پروسس کولو کې ستونزې حل شوې؛
- htmlreport اوس کولی شي د لیکوال په اړه معلومات ښکاره کړي (د ګیټ تور په کارولو سره)؛
- د متغیرونو په اړه پراخ اخطارونه چې ثابت نه وي، مګر کیدی شي؛
- د تحلیل کونکي راټول شوي غلطۍ او نیمګړتیاوې سمې شوې.
برسیره پردې، د Misra C 2012 څخه چکونه، په شمول د 1 تعدیل او ترمیم 2، په بشپړه توګه پلي شوي، پرته له قواعدو 1.1، 1.2 او 17.3. چک 1.1 او 1.2 باید د کمپیلر لخوا ترسره شي. تایید 17.3 د کمپیلر لخوا ترسره کیدی شي لکه GCC.
سرچینه: opennet.ru