Sgaoileadh cppcheck 2.6, anailis còd statach airson cànanan C ++ agus C

Chaidh dreach ùr den anailisiche còd statach cppcheck 2.6 fhoillseachadh, a leigeas leat diofar chlasaichean de mhearachdan aithneachadh ann an còd anns na cànanan C agus C ++, a’ toirt a-steach nuair a bhios tu a’ cleachdadh co-chòrdadh neo-àbhaisteach, àbhaisteach airson siostaman freumhaichte. Tha cruinneachadh de plugins air a thoirt seachad tro bheil cppcheck air fhilleadh a-steach le diofar shiostaman leasachaidh, amalachadh leantainneach agus deuchainn, agus cuideachd a’ toirt seachad feartan leithid a bhith a’ cumail sùil air gèilleadh còd ri stoidhle còd. Gus còd a pharsadh, faodaidh tu am parser agad fhèin no parser bhon taobh a-muigh a chleachdadh bho Clang. Tha e cuideachd a’ toirt a-steach an sgriobt donate-cpu.py gus goireasan ionadail a thoirt seachad gus obair ath-bhreithneachaidh còd co-obrachail a dhèanamh airson pasganan Debian. Tha còd stòr a’ phròiseict air a sgaoileadh fo chead GPLv3.

Tha leasachadh cppcheck ag amas air duilgheadasan a chomharrachadh co-cheangailte ri giùlan neo-mhìnichte agus cleachdadh dhealbhaidhean a tha cunnartach bho shealladh sàbhailteachd. Is e an amas cuideachd nithean ceàrr a lughdachadh. Am measg nan duilgheadasan a chaidh a chomharrachadh: comharran gu nithean nach eil ann, sgaraidhean le neoni, tar-shruthan iomlan, gnìomhachd gluasad bit ceàrr, atharrachaidhean ceàrr, duilgheadasan nuair a bhios tu ag obair le cuimhne, cleachdadh ceàrr de STL, ro-aithrisean puing null, cleachdadh sgrùdaidhean às deidh an fhìor ruigsinneachd chun a’ bhufair, tar-ruith bufair, cleachdadh caochladairean neo-aithnichte.

Anns an dreach ùr:

  • Chaidh na sgrùdaidhean a leanas a chur ri cridhe an anailisiche:
    • dìth gnìomhaiche tilleadh anns a 'bhuidheann gnìomh;
    • a 'clàradh dàta a tha a' dol thairis air, a 'dearbhadh giùlan neo-mhìnichte;
    • tha an luach air a choimeas taobh a-muigh riochdachadh luach an t-seòrsa;
    • chan eil lethbhreac optimization a’ buntainn ri tilleadh std ::move (ionadail);
    • chan urrainnear am faidhle fhosgladh aig an aon àm airson leughadh agus sgrìobhadh ann an diofar shruthan (sruth);
  • airson àrd-ùrlaran Unix, taic a bharrachd airson teachdaireachdan breithneachaidh a thaisbeanadh ann an dathan eadar-dhealaichte;
  • mion-sgrùdadh samhlachail a bharrachd airson ValueFlow. A’ cleachdadh delta sìmplidh nuair a thathar a’ tomhas an eadar-dhealachaidh eadar dà chaochladair neo-aithnichte;
  • faodaidh na riaghailtean a thathar a’ cleachdadh airson liosta nan comharran “defin” a bhith co-ionnan ri #include;
  • tag leabharlainn faodaidh tag a bhith ann a-nis , agus a rèir sin na gnìomhan an-asgaidh, as urrainn gabhail ri soithichean leithid std :: meud, std :: falamh, std :: tòiseachadh, std :: deireadh, msaa. is urrainn dha yeld no gnìomh a shònrachadh airson luchd-ceangail;
  • tag leabharlainn faodaidh tag a bhith ann a-nis airson comharran snasail aig a bheil seilbh gun samhail. Tha rabhadh ga thoirt a-mach a-nis mu bhith a’ crochadh iomraidhean air an t-seòrsa seo de chomharran snasail;
  • duilgheadasan stèidhichte le bhith a’ giullachd paramadair —cppcheck-build-dir;
  • Faodaidh htmlreport a-nis fiosrachadh mun ùghdar a thaisbeanadh (a’ cleachdadh git coire);
  • rabhaidhean leudaichte mu chaochladairean nach eil seasmhach, ach a dh'fhaodadh a bhith;
  • Chaidh na mearachdan cruinnichte agus easbhaidhean an anailisiche a cheartachadh.

A bharrachd air an sin, tha na sgrùdaidhean bho Misra C 2012, a’ gabhail a-steach Atharrachadh 1 agus Atharrachadh 2, air an làn bhuileachadh, ach a-mhàin riaghailtean 1.1, 1.2 agus 17.3. Feumaidh an neach-cruinneachaidh sgrùdaidhean 1.1 agus 1.2 a dhèanamh. Faodar dearbhadh 17.3 a dhèanamh le neach-cruinneachaidh leithid GCC.

Source: fosgailtenet.ru

Cuir beachd ann