Famoahana ny cppcheck 2.6, mpanadihady kaody static ho an'ny fiteny C++ sy C

Navoaka ny dikan-teny vaovaon'ny mpandinika kaody static cppcheck 2.6, izay ahafahanao mamantatra ireo karazana lesoka isan-karazany amin'ny kaody amin'ny fiteny C sy C ++, ao anatin'izany ny fampiasana syntax tsy manara-penitra, mahazatra amin'ny rafitra tafiditra. Ny fitambaran'ny plugins dia omena amin'ny alΓ lan'ny cppcheck ampifandraisina amin'ny fampandrosoana isan-karazany, ny fampidirana mitohy sy ny rafitra fitsapana, ary manome ihany koa ny endri-javatra toy ny fanamarinana ny fanarahana ny code amin'ny fomba kaody. Mba hamakiana kaody dia azonao atao ny mampiasa parser anao manokana na parser ivelany avy amin'i Clang. Ao anatin'izany ihany koa ny script donate-cpu.py mba hanomezana loharano eo an-toerana hanaovana asa famerenana kaody fiaraha-miasa ho an'ny fonosana Debian. Ny kaody loharanon'ny tetikasa dia zaraina amin'ny alΓ lan'ny fahazoan-dΓ lana GPLv3.

Ny fampivoarana ny cppcheck dia mifantoka amin'ny famantarana ireo olana mifandraika amin'ny fitondran-tena tsy voafaritra sy ny fampiasana endrika mampidi-doza amin'ny fomba fijery fiarovana. Tanjona ihany koa ny hanamaivanana ny fanenjehana diso. Anisan'ireo olana hita: fanondro amin'ny zavatra tsy misy, fizarana amin'ny zero, fihoaram-pefy, fiovaovan'ny bits tsy mety, fiovam-po diso, olana rehefa miasa amin'ny fitadidiana, tsy mety ny fampiasana STL, tsy fahampian'ny pointer, ny fampiasana fanamarinana aorian'ny fidirana tena izy. ho an'ny buffer, buffer overruns , fampiasana variables uninitialized.

Ao amin'ny dikan-teny vaovao:

  • Ireto fanamarinana manaraka ireto dia nampiana tao amin'ny fototry ny analyzer:
    • tsy fisian'ny mpandraharaha miverina ao amin'ny vatana miasa;
    • mirakitra angon-drakitra mifanipaka, mamaritra fitondran-tena tsy voafaritra;
    • ny sanda ampitahaina dia ivelan'ny sanda asehon'ilay karazana;
    • tsy mihatra amin'ny fiverenana std::move(local);
    • ny rakitra dia tsy azo sokafana miaraka amin'ny famakiana sy fanoratana amin'ny streams samihafa (stream);
  • ho an'ny sehatra Unix, fanampiana fanampiny amin'ny fampisehoana hafatra diagnostika amin'ny loko samihafa;
  • nanampy famakafakana an'ohatra ho an'ny ValueFlow. Mampiasa delta tsotra rehefa manao kajy ny fahasamihafana misy eo amin'ny fari-pahalalana roa tsy fantatra;
  • ny fitsipika ampiasaina amin'ny lisitry ny famantarana "famaritana" dia afaka mifanandrify amin'ny #include;
  • tag tranomboky afaka misy marika izao , ary mifanaraka amin'izany ny fiasa maimaim-poana, izay afaka mandray kaontenera toy ny std::size, std::empty, std::begin, std::end, sns. afaka mamaritra yeld na hetsika ho an'ny connectors;
  • tag tranomboky afaka misy marika izao ho an'ny tondro marani-tsaina manana fananana tokana. Navoaka izao ny fampitandremana momba ny fanondro mihantona amin'ireo karazana tondro marani-tsaina ireo;
  • olana amin'ny fanodinana ny -cppcheck-build-dir parameter;
  • htmlreport dia afaka mampiseho fampahalalana momba ny mpanoratra (mampiasa git blame);
  • fampitandremana miitatra momba ireo miovaova izay tsy miovaova, fa mety ho;
  • Nahitsy ny lesoka sy lesoka niangona tamin'ny analyse.

Fanampin'izany, ny fanamarinana avy amin'ny Misra C 2012, anisan'izany ny fanitsiana 1 sy ny fanitsiana 2, dia efa nampiharina tanteraka, afa-tsy ny fitsipika 1.1, 1.2 ary 17.3. Ny fanamarinana 1.1 sy 1.2 dia tsy maintsy ataon'ny mpanangona. Ny fanamarinana 17.3 dia azo atao amin'ny mpanangom-bokatra toy ny GCC.

Source: opennet.ru

Add a comment