cppcheck 2.6 рдХреЛ рд░рд┐рд▓реАрдЬ, C++ рд░ C рднрд╛рд╖рд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдерд┐рд░ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ

рд╕реНрдерд┐рд░ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ cppcheck 2.6 рдХреЛ рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ C рд░ C++ рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рдХреЛрдбрдорд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВрдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╡рд░реНрдЧрд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЬрд╕рдорд╛ рдЧреИрд░-рдорд╛рдирдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, рдЗрдореНрдмреЗрдбреЗрдб рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рд╛рдорд╛рдиреНрдпред рдкреНрд▓рдЧрдЗрдирд╣рд░реВрдХреЛ рд╕рдВрдЧреНрд░рд╣ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ рдЬрд╕рдХреЛ рдорд╛рдзреНрдпрдордмрд╛рдЯ cppcheck рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд╛рд╕, рдирд┐рд░рдиреНрддрд░ рдПрдХреАрдХрд░рдг рд░ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд╕рдБрдЧ рдПрдХреАрдХреГрдд рд╣реБрдиреНрдЫ, рд░ рдХреЛрдб рд╢реИрд▓реАрд╕рдБрдЧ рдХреЛрдб рдЕрдиреБрдкрд╛рд▓рди рдЬрд╛рдБрдЪ рдЧрд░реНрдиреЗ рдЬрд╕реНрддрд╛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдкрдирд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдХреЛрдб рдкрд╛рд░реНрд╕ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА, рддрдкрд╛рдЗрдБ рдХрд┐ рдд рддрдкрд╛рдЗрдБрдХреЛ рдЖрдлреНрдиреИ рдкрд╛рд░реНрд╕рд░ рд╡рд╛ Clang рдмрд╛рдЯ рдмрд╛рд╣рд┐рд░реА рдкрд╛рд░реНрд╕рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рдпрд╕рд▓реЗ рдбреЗрдмрд┐рдпрди рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рд╣рдпреЛрдЧреА рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХрд╛рд░реНрдп рдЧрд░реНрди рд╕реНрдерд╛рдиреАрдп рд╕реНрд░реЛрддрд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрди donate-cpu.py рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрдирд┐ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб GPLv3 рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫред

cppcheck рдХреЛ рд╡рд┐рдХрд╛рд╕ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди рд░ рд╕реБрд░рдХреНрд╖рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдмрд╛рдЯ рдЦрддрд░рдирд╛рдХ рдбрд┐рдЬрд╛рдЗрдирд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрдорд╛ рдХреЗрдиреНрджреНрд░рд┐рдд рдЫред рд▓рдХреНрд╖реНрдп рдкрдирд┐ рдЧрд▓рдд рд╕рдХрд╛рд░рд╛рддреНрдордХ рдХрдо рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдЫред рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдордзреНрдпреЗ: рдЕрд╡рд╕реНрдерд┐рдд рдирднрдПрдХрд╛ рд╡рд╕реНрддреБрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╕реВрдЪрдХрд╣рд░реВ, рд╢реВрдиреНрдпрджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрди, рдкреВрд░реНрдгрд╛рдВрдХ рдУрднрд░рдлреНрд▓реЛрд╣рд░реВ, рдЧрд▓рдд рдмрд┐рдЯ рд╢рд┐рдлреНрдЯ рдЕрдкрд░реЗрд╢рдирд╣рд░реВ, рдЧрд▓рдд рд░реВрдкрд╛рдиреНрддрд░рдгрд╣рд░реВ, рдореЗрдореЛрд░реАрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрд╛ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ, STL рдХреЛ рдЧрд▓рдд рдкреНрд░рдпреЛрдЧ, рдирд▓ рдкреЛрдЗрдиреНрдЯрд░ рдбрд┐рд░реЗрдлрд░реЗрдиреНрд╕рд╣рд░реВ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд╣реБрдБрдЪ рдкрдЫрд┐ рдЪреЗрдХрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧред рдмрдлрд░рдорд╛, рдмрдлрд░ рдУрднрд░рд░рдиреНрд╕, рдЕрдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдЪрд░рд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧред

рдирдпрд╛рдБ рд╕рдВрд╕реНрдХрд░рдгрдорд╛:

  • рдирд┐рдореНрди рдЬрд╛рдБрдЪрд╣рд░реВ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЛрд░рдорд╛ рдердкрд┐рдПрдХрд╛ рдЫрдиреН:
    • рдкреНрд░рдХрд╛рд░реНрдп рдирд┐рдХрд╛рдпрдорд╛ рд░рд┐рдЯрд░реНрди рдЕрдкрд░реЗрдЯрд░рдХреЛ рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐;
    • рдУрднрд░рд▓реНрдпрд╛рдкрд┐рдЩ рдбрд╛рдЯрд╛ рд░реЗрдХрд░реНрдб рдЧрд░реНрджрдЫ, рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджрдЫ;
    • рддреБрд▓рдирд╛ рдЧрд░рд┐рдПрдХреЛ рдорд╛рди рдкреНрд░рдХрд╛рд░рдХреЛ рдорд╛рди рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рднрдиреНрджрд╛ рдмрд╛рд╣рд┐рд░ рдЫ;
    • рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЕрдиреБрдХреВрд▓рди рдлрд┐рд░реНрддрд╛ std::move(local) рдорд╛ рд▓рд╛рдЧреВ рд╣реБрдБрджреИрди;
    • рд╡рд┐рднрд┐рдиреНрди рд╕реНрдЯреНрд░рд┐рдо (рд╕реНрдЯреНрд░рд┐рдо) рдорд╛ рдкрдвреНрди рд░ рд▓реЗрдЦреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдлрд╛рдЗрд▓ рдПрдХреИ рд╕рд╛рде рдЦреЛрд▓реНрди рд╕рдХрд┐рдБрджреИрди;
  • рдпреБрдирд┐рдХреНрд╕ рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рд╡рд┐рднрд┐рдиреНрди рд░рдВрдЧрд╣рд░реВрдорд╛ рдирд┐рджрд╛рди рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рд╕рдорд░реНрдерди рдердкрд┐рдпреЛ;
  • ValueFlow рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдердкрд┐рдпреЛред рджреБрдИ рдЕрдЬреНрдЮрд╛рдд рдЪрд░рд╣рд░реВ рдмреАрдЪрдХреЛ рднрд┐рдиреНрдирддрд╛ рдЧрдгрдирд╛ рдЧрд░реНрджрд╛ рд╕рд╛рдзрд╛рд░рдг рдбреЗрд▓реНрдЯрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ;
  • рдЯреЛрдХрдирд╣рд░реВрдХреЛ рд╕реВрдЪреАрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рдирд┐рдпрдорд╣рд░реВ "рдкрд░рд┐рднрд╛рд╖рд┐рдд" рдкрдирд┐ #includeрд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рди рд╕рдХреНрдЫрдиреН;
  • рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЯреНрдпрд╛рдЧ рдЕрдм рдЯреНрдпрд╛рдЧ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди рд╕рдХреНрдЫ , рд░ рддрджрдиреБрд╕рд╛рд░ рдирд┐: рд╢реБрд▓реНрдХ рдХрд╛рд░реНрдпрд╣рд░реВ, рдЬрд╕рд▓реЗ рдХрдиреНрдЯреЗрдирд░рд╣рд░реВ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрди рд╕рдХреНрдЫ рдЬрд╕реНрддреИ std::size, std:: empty, std::begin, std:: end, рдЖрджрд┐ред рдЬрдбрд╛рдирдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдпреЗрд▓реНрдб рд╡рд╛ рдХрд╛рд░реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдЫ;
  • рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЯреНрдпрд╛рдЧ рдЕрдм рдЯреНрдпрд╛рдЧ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди рд╕рдХреНрдЫ рдЕрджреНрд╡рд┐рддреАрдп рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рднрдПрдХрд╛ рд╕реНрдорд╛рд░реНрдЯ рд╕реВрдЪрдХрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ред рдпреА рдкреНрд░рдХрд╛рд░рдХрд╛ рд╕реНрдорд╛рд░реНрдЯ рдкреЛрдЗрдиреНрдЯрд░реНрд╕рд╣рд░реВрдорд╛ рдЭреБрдиреНрдбреНрдпрд╛рдЙрдиреЗ рд╕рдиреНрджрд░реНрднрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЕрдм рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдЧрд░рд┐рдПрдХреЛ рдЫ;
  • тАФcppcheck-build-dir рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрдиреЗ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░рд┐рдпреЛ;
  • htmlreport рд▓реЗ рдЕрдм рд▓реЗрдЦрдХрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рд╕рдХреНрдЫ (git рджреЛрд╖ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░);
  • рдЪрд░рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдЪреЗрддрд╛рд╡рдиреАрд╣рд░реВ рдЬреБрди рд╕реНрдерд┐рд░ рдЫреИрдирдиреН, рддрд░ рд╣реБрди рд╕рдХреНрдЫ;
  • рд╡рд┐рд╢реНрд▓реЗрд╖рдХрдХреЛ рд╕рдВрдЪрд┐рдд рддреНрд░реБрдЯрд┐ рд░ рдХрдордЬреЛрд░реАрд╣рд░реВ рд╕реБрдзрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдердк рд░реВрдкрдорд╛, рдирд┐рдпрдо 2012, 1 рд░ 2 рдХреЛ рдмрд╛рд╣реЗрдХ, рд╕рдВрд╢реЛрдзрди 1.1 рд░ рд╕рдВрд╢реЛрдзрди 1.2 рд╕рд╣рд┐рдд рдорд┐рд╢реНрд░ C 17.3 рдмрд╛рдЯ рдЪреЗрдХрд╣рд░реВ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред 1.1 рд░ 1.2 рдЬрд╛рдБрдЪрд╣рд░реВ рдХрдореНрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рди рдЧрд░рд┐рдиреБ рдкрд░реНрдЫред рдкреНрд░рдорд╛рдгрд┐рдХрд░рдг 17.3 рдПрдХ рдХрдореНрдкрд╛рдЗрд▓рд░ рдЬрд╕реНрддреИ GCC рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди