Fa'asa'olotoina o le cppcheck 2.6, o se su'esu'ega fa'amautu mo C++ ma gagana C

O se lomiga fou o le static code analyzer cppcheck 2.6 ua tatalaina, lea e mafai ai ona e iloa vasega eseese o mea sese i le code i gagana C ma C ++, e aofia ai le faʻaaogaina o le syntax e le masani ai, masani mo faiga faʻapipiʻi. O lo'o tu'uina atu se aofa'iga o fa'apipi'i e fa'apipi'i ai le cppcheck ma atina'e eseese, fa'aauau le tu'ufa'atasia ma faiga fa'ata'ita'iga, ma tu'uina atu fo'i fa'ailoga e pei o le siakiina o le tausisia o tulafono ma le sitaili tulafono. I le fa'avasegaina o le code, e mafai ona e fa'aogaina lau lava parser po'o se parser fafo mai Clang. E aofia ai foʻi le donate-cpu.py script e tuʻuina atu ai punaoa faʻapitonuʻu e fai ai galuega iloilo tulafono faʻatasi mo afifi Debian. O le faʻailoga autu o le poloketi o loʻo tufatufaina i lalo ole laisene GPLv3.

O le atinaʻeina o le cppcheck e taulaʻi i le faʻamalamalamaina o faʻafitauli e fesoʻotaʻi ma amioga e le faʻamalamalamaina ma le faʻaogaina o mamanu e lamatia ai mai se vaaiga saogalemu. O le sini foi o le faaitiitia o mea sese. Faatasi ai ma faʻafitauli faʻaalia: faʻailoga i mea e le o iai, vaevaega e leai se mea, faʻafefe o le aofaʻi, faʻaogaina o suiga sese, suiga le saʻo, faʻafitauli pe a galue ma le mafaufau, faʻaoga sese o le STL, faʻaletonu le faʻailoga, le faʻaogaina o siaki pe a uma le avanoa moni. i le pa'u, pa'u overruns , fa'aogaina o fesuiaiga e le'i fa'ailoaina.

I le lomiga fou:

  • O siaki nei ua fa'aopoopoina i le autu o le su'esu'e:
    • leai o se fa'afo'i fa'atonu i le tino o galuega;
    • fa'amaumau fa'amatalaga felavasa'i, fa'amautu amioga e le'i fa'amalamalamaina;
    • o le tau o lo'o fa'atusatusa i fafo atu o le tau fa'atusa o le ituaiga;
    • e le fa'aogaina le fa'atonuina o kopi e toe fa'afo'i ai le std::move(local);
    • e le mafai ona tatalaina le faila i le taimi e tasi mo le faitau ma le tusitusi i vaitafe eseese (stream);
  • mo Unix platforms, faʻaopoopo le lagolago mo le faʻaalia o feʻau faʻamaonia i lanu eseese;
  • fa'aopoopo su'esu'ega fa'atusa mo ValueFlow. Fa'aaoga le delta faigofie pe a fa'atatau le eseesega i le va o fesuiaiga e lua e le iloa;
  • o tulafono fa'aaoga mo le lisi o fa'ailoga "fa'amatala" e mafai fo'i ona fetaui ma #include;
  • tag faletusi ua mafai nei ona i ai se pine , ma e tusa ai ma galuega fai fua, e mafai ona talia pusa e pei o std :: size, std :: gaogao, std :: amata, std :: end, ma isi. e mafai ona faʻamaonia le ie poʻo le gaioiga mo soʻo;
  • tag faletusi ua mafai nei ona i ai se pine mo fa'ailoga atamai e iai le pule fa'apitoa. Ua tu'uina atu nei se lapataiga e uiga i fa'asinoga tautaua i nei ituaiga o fa'ailoga atamai;
  • faʻafitauli faʻafitauli i le faʻaogaina o le -cppcheck-build-dir parameter;
  • htmlreport e mafai nei ona faʻaalia faʻamatalaga e uiga i le tusitala (faʻaaogaina git blame);
  • lapataiga faʻalautele e uiga i fesuiaiga e le tumau, ae mafai;
  • Ua fa'asa'o le fa'aputuina o mea sese ma fa'aletonu o le su'esu'e.

E le gata i lea, o siaki mai le Misra C 2012, e aofia ai le Teuteuga 1 ma le Teuteuga 2, ua maeʻa ona faʻatinoina, sei vagana ai tulafono 1.1, 1.2 ma le 17.3. Siaki 1.1 ma le 1.2 e tatau ona faia e le tagata faʻapipiʻi. Fa'amaonia 17.3 e mafai ona fa'atino e se tagata fa'apipi'i pei ole GCC.

puna: opennet.ru

Faaopoopo i ai se faamatalaga