Avaldamine staatilise koodi analüsaatori versioon cppcheck 2.6Et võimaldab tuvastada mitmesuguseid vigu C- ja C ++ -koodidesisegi siis, kui kasutatakse manustatud süsteemidele omast mittestandardset süntaksit.
Pakutakse pistikprogrammide kogumit, mille kaudu pakutakse cppchecki integreerimist erinevate arendus-, pideva integratsiooni- ja testimissüsteemidega, aga ka selliseid funktsioone nagu koodikoodile vastavuse kontrollimine kodeerimisstiiliga.
Koodi analüüsimiseks saate kasutada nii oma parserit kui ka välist Clang parserit. See sisaldab ka skripti donate-cpu.py, mis pakub kohalikke ressursse Debiani pakettide koostöökoodide ülevaatamiseks.
Cppchecki areng keskendub määratlemata käitumisega seotud probleemide tuvastamisele ja ohutuse seisukohalt ohtlike konstruktsioonide kasutamine.
Eesmärk on ka valepositiivsete tulemuste minimeerimine. Tuvastatud probleemide hulgas: osundid olematutele objektidele, jagamine nulliga, täisarvude ülevoolud, valed bittide nihutamistoimingud, valed teisendused, mäluprobleemid, STL-i vale kasutamine, nullviitade viitamine, kontrollide rakendamine pärast puhvrile juurdepääsu. puhverpiiride ületäitmine, kasutades initsialiseerimata muutujaid.
Peamised uued funktsioonid cppcheck 2.6
Selles uues versioonis se on lisanud parseri tuuma mitmesuguseid kontrolle, mille hulgas eristub tagastamisdeklaratsiooni puudumise kontrollimine funktsiooni põhiosas, samuti kattuvate andmekirjete, määratlemata käitumismääratluste ja ka võrreldava väärtuse kontrollimine on väljaspool esitusviisi tüübi väärtus.
Teine uudsus, mis silma paistab, on kopeerimise optimeerimine ei kehti return std :: move (local);, pluss tugi lisati diagnostikateadete kuvamiseks erinevates värvides Unixi platvormide jaoks ja teegisildi jaoks võib nüüd märgendit sisaldada nutikate näpunäidete jaoks, millel on ainulaadne omadus. Sellistele nutikatele näpunäidetele antakse nüüd hoiatus lingilt.
Lisaks Misra C 2012 juhtelemendid on täielikult rakendatud, sealhulgas muudatusettepanekud 1 ja 2, välja arvatud reeglid 1.1, 1.2 ja 17.3. Kompilaator peaks kontrollima 1.1 ja 1.2. Kompilaator nagu GCC saab kontrollida 17.3.
Muudest silmapaistvatest muudatustest selle uue versiooni:
- Faili ei saa korraga avada, et lugeda ja kirjutada erinevates voogudes;
- Lisatud ValueFlow sümboolne analüüs. Kahe tundmatu muutuja vahelise erinevuse arvutamisel kasutatakse lihtsat delta;
- Märkide loendi "define" jaoks kasutatavad reeglid võivad ühtida ka #include;
- Raamatukogu silt võib nüüd märgendit sisaldada ja seega tasuta funktsioone, mis aktsepteerivad konteinereid nagu std :: size, std :: empty, std :: begin, std :: end jne. konteinerite jaoks saate määrata lõnga või toimingu;
- Parandatud parameetri –cppcheck-build-dir käsitsemise probleemid;
htmlreport saab nüüd autori kohta teavet printida (kasutades git süüdistust); - Laiendatud hoiatuste andmine muutujatele, mis ei ole konstantsed, kuid võivad muutuda konstantseks;
- Analüsaatori kogunenud vead ja puudused on parandatud.
Lõpuks, kui soovite selle uue versiooni kohta rohkem teada saada, võite konsulteerida üksikasjad järgmisel lingil.
Kuidas installida cppcheck Linuxisse?
Neile, kes on huvitatud oma Linuxi distributsioonile cppchecki installimisest, saavad nad järgida allolevaid juhiseid.
Kui olete Debiani kasutaja või mõni muu levitus, näiteks Deepin või Ubuntu, saate installida otse terminalist, sisestades järgmise käsu:
sudo apt-get install cppcheck
Nüüd saavad need, kes on Fedora kasutajad ja neist tuletatud, installida, sisestades järgmise käsu:
sudo yum instalar cppcheck
Või neile, kes on Arch Linuxi kasutajad või muud selle derivaadid, saavad nad installida järgmise käsuga:
sudo pacman -S cppcheck