cppcheck 2.6 เจฆเฉ€ เจฐเจฟเจฒเฉ€เจœเจผ, C++ เจ…เจคเฉ‡ C เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจธเจฅเจฟเจฐ เจ•เฉ‹เจก เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ•

เจธเจŸเฉˆเจŸเจฟเจ• เจ•เฉ‹เจก เจเจจเจพเจฒเจพเจˆเจœเจผเจฐ cppcheck 2.6 เจฆเจพ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ C เจ…เจคเฉ‡ C++ เจญเจพเจธเจผเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– เจธเจผเฉเจฐเฉ‡เจฃเฉ€เจ†เจ‚ เจฆเฉ€เจ†เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ—เฉˆเจฐ-เจฎเจฟเจ†เจฐเฉ€ เจธเฉฐเจŸเฉˆเจ•เจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจเจฎเจฌเฉˆเจกเจก เจธเจฟเจธเจŸเจฎเจพเจ‚ เจฒเจˆ เจ–เจพเจธ เจนเฉˆเฅค เจชเจฒเฉฑเจ—เจ‡เจจเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉฐเจ—เฉเจฐเจนเจฟ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจœเจฟเจธ เจฆเฉเจ†เจฐเจพ cppcheck เจจเฉ‚เฉฐ เจตเฉฑเจ–-เจตเฉฑเจ– เจตเจฟเจ•เจพเจธ, เจจเจฟเจฐเฉฐเจคเจฐ เจเจ•เฉ€เจ•เจฐเจฃ เจ…เจคเฉ‡ เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจจเจพเจฒ เจœเฉ‹เฉœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ•เฉ‹เจก เจธเจผเฉˆเจฒเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉ‹เจก เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจตเจฐเจ—เฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจตเฉ€ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจชเจพเจฐเจธ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจœเจพเจ‚ เจคเจพเจ‚ เจ†เจชเจฃเฉ‡ เจ–เฉเจฆ เจฆเฉ‡ เจชเจพเจฐเจธเจฐ เจœเจพเจ‚ เจ•เจฒเฉˆเจ‚เจ— เจคเฉ‹เจ‚ เจฌเจพเจนเจฐเฉ€ เจชเจพเจฐเจธเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‡เจธ เจตเจฟเฉฑเจš เจกเฉ‡เจฌเฉ€เจ…เจจ เจชเฉˆเจ•เฉ‡เจœเจพเจ‚ เจฒเจˆ เจธเจนเจฟเจฏเฉ‹เจ—เฉ€ เจ•เฉ‹เจก เจธเจฎเฉ€เจ–เจฟเจ† เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจธเจฅเจพเจจเจ• เจธเจฐเฉ‹เจค เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฒเจˆ donate-cpu.py เจธเจ•เฉเจฐเจฟเจชเจŸ เจตเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเจพ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก GPLv3 เจฒเจพเจ‡เจธเฉฐเจธ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจตเฉฐเจกเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค

เจธเฉ€เจชเฉ€เจชเฉ€เจšเฉˆเจ• เจฆเจพ เจตเจฟเจ•เจพเจธ เจ…เจฃ-เจชเฉเจฐเจญเจพเจธเจผเจฟเจค เจตเจฟเจตเจนเจพเจฐ เจจเจพเจฒ เจœเฉเฉœเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจ…เจคเฉ‡ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚ เจ–เจผเจคเจฐเจจเจพเจ• เจกเจฟเจœเจผเจพเจˆเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ 'เจคเฉ‡ เจ•เฉ‡เจ‚เจฆเฉเจฐเจฟเจค เจนเฉˆเฅค เจŸเฉ€เจšเจพ เจเฉ‚เจ เฉ‡ เจธเจ•เจพเจฐเจพเจคเจฎเจ• เจจเฉ‚เฉฐ เจ˜เฉฑเจŸ เจคเฉ‹เจ‚ เจ˜เฉฑเจŸ เจ•เจฐเจจเจพ เจตเฉ€ เจนเฉˆเฅค เจชเจ›เจพเจฃเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚: เจ—เฉˆเจฐ-เจฎเฉŒเจœเฉ‚เจฆ เจตเจธเจคเฉ‚เจ†เจ‚ เจฒเจˆ เจชเฉเจ†เจ‡เฉฐเจŸเจฐ, เจœเจผเฉ€เจฐเฉ‹ เจฆเฉเจ†เจฐเจพ เจตเฉฐเจก, เจชเฉ‚เจฐเจจ เจ…เฉฐเจ• เจ“เจตเจฐเจซเจฒเฉ‹, เจ—เจฒเจค เจฌเจฟเฉฑเจŸ เจธเจผเจฟเจซเจŸ เจ“เจชเจฐเฉ‡เจธเจผเจจ, เจ—เจฒเจค เจชเจฐเจฟเจตเจฐเจคเจจ, เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚, STL เจฆเฉ€ เจ—เจฒเจค เจตเจฐเจคเฉ‹เจ‚, เจจเจฒ เจชเฉเจ†เจ‡เฉฐเจŸเจฐ เจกเฉ€เจฐเฉ‡เจซเจฐเฉˆเจ‚เจธ, เจ…เจธเจฒ เจชเจนเฉเฉฐเจš เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจœเจพเจ‚เจšเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฌเจซเจฐ เจฒเจˆ, เจฌเจซเจฐ เจ“เจตเจฐเจฐเจจเจธ, เจ…เจฃ-เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚เฅค

เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš:

  • เจจเจฟเจฎเจจเจฒเจฟเจ–เจค เจœเจพเจ‚เจšเจพเจ‚ เจจเฉ‚เฉฐ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ• เจ•เฉ‹เจฐ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ:
    • เจซเฉฐเจ•เจธเจผเจจ เจฌเจพเจกเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฐเจฟเจŸเจฐเจจ เจ†เจชเจฐเฉ‡เจŸเจฐ เจฆเฉ€ เจ—เฉˆเจฐเจนเจพเจœเจผเจฐเฉ€;
    • เจ“เจตเจฐเจฒเฉˆเจชเจฟเฉฐเจ— เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจฆเจพ เจนเฉˆ, เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจตเจฟเจตเจนเจพเจฐ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเจพ เจนเฉˆ;
    • เจœเจฟเจธ เจฎเฉเฉฑเจฒ เจฆเฉ€ เจคเฉเจฒเจจเจพ เจ•เฉ€เจคเฉ€ เจœเจพ เจฐเจนเฉ€ เจนเฉˆ เจ‰เจน เจ•เจฟเจธเจฎ เจฆเฉ‡ เจฎเฉเฉฑเจฒ เจฆเฉ€ เจจเฉเจฎเจพเจ‡เฉฐเจฆเจ—เฉ€ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจนเฉˆ;
    • เจ•เจพเจชเฉ€ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจ เจตเจพเจชเจธเฉ€ std::move(local);
    • เจตเฉฑเจ–-เจตเฉฑเจ– เจงเจพเจฐเจพเจตเจพเจ‚ (เจธเจŸเฉเจฐเฉ€เจฎ) เจตเจฟเฉฑเจš เจชเฉœเฉเจนเจจ เจ…เจคเฉ‡ เจฒเจฟเจ–เจฃ เจฒเจˆ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจ–เฉ‹เจฒเฉเจนเจฟเจ† เจจเจนเฉ€เจ‚ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ;
  • เจฏเฉ‚เจจเจฟเจ•เจธ เจชเจฒเฉ‡เจŸเจซเจพเจฐเจฎเจพเจ‚ เจฒเจˆ, เจตเฉฑเจ–-เจตเฉฑเจ– เจฐเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจกเจพเจ‡เจ—เจจเฉŒเจธเจŸเจฟเจ• เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ;
  • ValueFlow เจฒเจˆ เจธเฉฐเจ•เฉ‡เจคเจ• เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ†เฅค เจฆเฉ‹ เจ…เจฃเจœเจพเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจ…เฉฐเจคเจฐ เจฆเฉ€ เจ—เจฃเจจเจพ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจธเจงเจพเจฐเจจ เจกเฉˆเจฒเจŸเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ;
  • เจŸเฉ‹เจ•เจจเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจฒเจˆ เจตเจฐเจคเฉ‡ เจ—เจ เจจเจฟเจฏเจฎ "เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค" เจตเฉ€ #เจธเจผเจพเจฎเจฒ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจ;
  • เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจŸเฉˆเจ— เจนเฉเจฃ เจ‡เฉฑเจ• เจŸเฉˆเจ— เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ , เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจฎเฉเจซเจค เจซเฉฐเจ•เจธเจผเจจ, เจœเฉ‹ เจ•เจฟ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ std::size, std:: empty, std::begin, std::end, เจ†เจฆเจฟเฅค เจ•เจจเฉˆเจ•เจŸเจฐเจพเจ‚ เจฒเจˆ เจฏเฉˆเจฒเจก เจœเจพเจ‚ เจ•เจฟเจฐเจฟเจ† เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ;
  • เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจŸเฉˆเจ— เจนเฉเจฃ เจ‡เฉฑเจ• เจŸเฉˆเจ— เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจตเจฟเจฒเฉฑเจ–เจฃ เจฎเจฒเจ•เฉ€เจ…เจค เจตเจพเจฒเฉ‡ เจธเจฎเจพเจฐเจŸ เจชเฉเจ†เจ‡เฉฐเจŸเจฐเจพเจ‚ เจฒเจˆเฅค เจนเฉเจฃ เจ‡เจธ เจ•เจฟเจธเจฎ เจฆเฉ‡ เจธเจฎเจพเจฐเจŸ เจชเฉเจ†เจ‡เฉฐเจŸเจฐเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจฆเจฐเจญเจพเจ‚ เจฌเจพเจฐเฉ‡ เจšเฉ‡เจคเจพเจตเจจเฉ€ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ;
  • โ€”cppcheck-build-dir เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจนเฉฑเจฒ เจ•เฉ€เจคเฉ€เจ†เจ‚;
  • htmlreport เจนเฉเจฃ เจฒเฉ‡เจ–เจ• เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆ (เจ—เจฟเจŸ เจฆเฉ‹เจธเจผ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡);
  • เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฌเจพเจฐเฉ‡ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจšเฉ‡เจคเจพเจตเจจเฉ€เจ†เจ‚ เจœเฉ‹ เจธเจฅเจฟเจฐ เจจเจนเฉ€เจ‚ เจนเจจ, เจชเจฐ เจนเฉ‹ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ;
  • เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจ• เจฆเฉ€เจ†เจ‚ เจธเฉฐเจšเจฟเจค เจ—เจฒเจคเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจ•เจฎเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจฎเจฟเจธเจผเจฐเจพ เจธเฉ€ 2012 เจฆเฉ‡ เจšเฉˆเจ•, เจธเฉฐเจธเจผเฉ‹เจงเจจ 1 เจ…เจคเฉ‡ เจธเฉ‹เจง 2 เจธเจฎเฉ‡เจค, เจจเจฟเจฏเจฎ 1.1, 1.2 เจ…เจคเฉ‡ 17.3 เจจเฉ‚เฉฐ เจ›เฉฑเจก เจ•เฉ‡, เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค 1.1 เจ…เจคเฉ‡ 1.2 เจฆเฉ€ เจœเจพเจ‚เจš เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเฉ€ เจœเจพเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค เจคเจธเจฆเฉ€เจ• 17.3 เจจเฉ‚เฉฐ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ GCC เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹