Tso tawm cppcheck 2.6, tus lej ntsuas zoo li qub rau C ++ thiab C hom lus

Ib tug tshiab version ntawm qhov zoo li qub code analyzer cppcheck 2.6 tau tso tawm, uas tso cai rau koj los txheeb xyuas ntau yam kev ua yuam kev hauv cov lej hauv C thiab C ++ cov lus, suav nrog thaum siv cov syntax tsis yog tus qauv, raug rau cov kab ke kos. Ib qho kev sau ntawm plugins yog muab los ntawm qhov uas cppcheck tau koom ua ke nrog ntau yam kev txhim kho, kev sib koom ua ke txuas ntxiv thiab kev sim tshuab, thiab tseem muab cov yam ntxwv zoo li kev txheeb xyuas cov cai ua raws li txoj cai style. Txhawm rau txheeb xyuas cov lej, koj tuaj yeem siv koj tus kheej parser lossis lwm tus parser los ntawm Clang. Nws kuj suav nrog cov ntawv pub dawb-cpu.py los muab cov peev txheej hauv zos los ua kev sib koom tes xyuas cov lej ua haujlwm rau Debian pob. Qhov chaws ntawm qhov project yog muab faib raws li daim ntawv tso cai GPLv3.

Txoj kev loj hlob ntawm cppcheck yog tsom rau kev txheeb xyuas cov teeb meem cuam tshuam nrog kev coj tus cwj pwm tsis zoo thiab siv cov qauv tsim uas muaj kev phom sij los ntawm qhov pom kev nyab xeeb. Lub hom phiaj tseem yog kom txo qis qhov tsis zoo. Ntawm cov teeb meem uas tau txheeb pom: taw tes rau cov khoom tsis muaj nyob, faib los ntawm xoom, cov lej ntau dhau, kev ua haujlwm tsis raug me ntsis hloov, kev hloov pauv tsis raug, teeb meem thaum ua haujlwm nrog lub cim xeeb, siv tsis raug ntawm STL, tsis muaj tus pointer dereferences, kev siv cov tshev tom qab nkag mus rau qhov tseeb. mus rau qhov tsis, tsis overruns, siv cov hloov pauv tsis tsim nyog.

Hauv qhov tshiab version:

  • Cov kev kuaj hauv qab no tau ntxiv rau hauv cov tub ntxhais analyzer:
    • tsis muaj tus neeg teb xov tooj rov qab rau hauv lub cev ua haujlwm;
    • khaws cov ntaub ntawv sib tshooj, txiav txim siab tus cwj pwm tsis raug cai;
    • tus nqi muab piv yog sab nraum tus nqi sawv cev ntawm hom;
    • luam optimization tsis siv rau rov qab std:: txav (hauv zos);
    • cov ntaub ntawv tsis tuaj yeem qhib ib txhij rau kev nyeem ntawv thiab sau ntawv sib txawv (kwj);
  • rau Unix platforms, ntxiv kev txhawb nqa rau kev nthuav tawm cov lus kuaj mob hauv cov xim sib txawv;
  • ntxiv cov cim tsom xam rau ValueFlow. Siv cov delta yooj yim thaum xam qhov sib txawv ntawm ob qhov sib txawv tsis paub;
  • cov cai siv rau cov npe tokens "txhais" tuaj yeem phim # suav nrog;
  • Library tag tam sim no muaj tag , thiab raws li cov haujlwm pub dawb, uas tuaj yeem txais cov ntim khoom xws li std:: loj, std:: khoob, std:: pib, std:: kawg, thiab lwm yam. tuaj yeem hais qhia tawm lossis ua rau cov khoom sib txuas;
  • Library tag tam sim no muaj tag rau cov ntsiab lus ntse uas muaj cov tswv cuab tshwj xeeb. Cov lus ceeb toom tam sim no tau tshaj tawm txog dangling cov ntaub ntawv xa mus rau cov hom ntse pointers;
  • kho cov teeb meem nrog kev ua cov -cppcheck-build-dir parameter;
  • htmlreport tam sim no tuaj yeem tso saib cov ntaub ntawv hais txog tus sau (siv git liam);
  • txuas ntxiv cov lus ceeb toom txog kev hloov pauv uas tsis tas li, tab sis tuaj yeem yog;
  • Cov kev ua yuam kev thiab qhov tsis txaus ntawm lub ntsuas ntsuas tau raug kho.

Tsis tas li ntawd, cov kev txheeb xyuas los ntawm Misra C 2012, suav nrog Kev Hloov Kho 1 thiab Kev Hloov Kho 2, tau ua tiav tag nrho, tshwj tsis yog cov cai 1.1, 1.2 thiab 17.3. Kev txheeb xyuas 1.1 thiab 1.2 yuav tsum tau ua los ntawm tus sau. Kev pov thawj 17.3 tuaj yeem ua tau los ntawm lub tshuab sau xws li GCC.

Tau qhov twg los: opennet.ru

Ntxiv ib saib