Išleidimas statinio kodo analizatoriaus versija cppcheck 2.6Kad leidžia aptikti įvairių tipų C ir C ++ kodo klaidasnet naudojant įterptosioms sistemoms būdingą nestandartinę sintaksę.
Pateikiamas papildinių rinkinys, per kurį teikiama „cppcheck“ integracija su įvairiomis kūrimo, nuolatinės integracijos ir bandymo sistemomis, taip pat tokios funkcijos kaip kodo atitikties kodavimo stiliui tikrinimas.
Norėdami išanalizuoti kodą, galite naudoti ir savo, ir išorinį „Clang“ analizatorių. Jame taip pat yra donate-cpu.py scenarijus, skirtas vietiniams ištekliams, skirtiems bendradarbiavimo kodų peržiūrai Debian'o paketams.
„Cppcheck“ plėtra daugiausia dėmesio skiriama problemoms, susijusioms su neapibrėžtu elgesiu, nustatyti ir konstrukcijų, kurios yra pavojingos saugumo požiūriu, naudojimas.
Tikslas taip pat yra sumažinti klaidingų teigiamų rezultatų skaičių. Tarp nustatytų problemų: rodyklės į neegzistuojančius objektus, padalijimas iš nulio, sveikųjų skaičių perpildymai, neteisingos bitų perkėlimo operacijos, neteisingos konversijos, atminties problemos, neteisingas STL naudojimas, nulinių rodyklių išjungimas, patikrinimų taikymas po realios prieigos prie buferio, perpildžius buferio ribas, naudojant neinicializuotus kintamuosius.
Pagrindinės naujos „cppcheck 2.6“ funkcijos
Šioje naujojoje versijoje se pridėjo įvairius patikrinimus prie analizatoriaus branduolio, tarp kurių išsiskiria tai, kad funkcijos tekste nėra grąžinimo pareiškimo, taip pat sutampančių duomenų įrašų, neapibrėžtų elgesio apibrėžimų ir lyginamos vertės patikrinimas nepatenka į pateikimo diapazoną tipo vertės.
Kita išskirtinė naujovė yra kopijų optimizavimas netaikomas grąžinimui std :: move (local);, taip pat buvo pridėtas palaikymas rodant diagnostines žinutes skirtingomis spalvomis „Unix“ platformoms ir bibliotekos žymą dabar gali būti žyma išmaniosioms nuorodoms, kurios turi unikalią savybę. Įspėjimas apie susiliejančias nuorodas dabar pateikiamas tokio tipo išmaniesiems rodikliams.
Be to, „Misra C 2012“ valdikliai buvo visiškai įgyvendinti, įskaitant 1 ir 2 pakeitimus, išskyrus 1.1, 1.2 ir 17.3 taisykles. Kompiliatorius turėtų atlikti 1.1 ir 1.2 patikrinimus. Kompiliatorius, pvz., GCC, gali patikrinti 17.3.
Iš kitų išsiskiriančių pokyčių šios naujos versijos:
- Failo negalima atidaryti vienu metu, kad būtų galima skaityti ir rašyti skirtingais srautais;
- Pridėta simbolinė „ValueFlow“ analizė. Skaičiuojant dviejų nežinomų kintamųjų skirtumą, naudojama paprasta delta;
- Žetonų sąrašo „define“ taisyklės taip pat gali sutapti su #include;
- Bibliotekos žyma dabar gali būti žyma ir taip nemokamos funkcijos, kurios gali priimti konteinerius, tokius kaip std :: size, std :: empty, std :: begin, std :: end, etc. konteineriams galite nurodyti yeld arba veiksmą;
- Ištaisytos problemos, susijusios su parametro –cppcheck-build-dir tvarkymu;
htmlreport dabar gali atspausdinti informaciją apie autorių (naudojant git kaltinimą); - Išplėstiniai įspėjimai apie kintamuosius, kurie nėra pastovūs, bet gali tapti pastovūs;
- Ištaisytos sukauptos analizatoriaus klaidos ir trūkumai.
Galiausiai, jei norite sužinoti daugiau apie šią naują versiją, galite pasikonsultuoti išsami informacija šioje nuorodoje.
Kaip įdiegti „cppcheck“ „Linux“?
Tiems, kurie domisi galimybe įdiegti „cppcheck“ savo „Linux“ platinime, jie gali vadovautis toliau pateiktomis instrukcijomis.
Jei esate „Debian“ vartotojas ar bet koks kitas platinimas, pagrįstas ar gautas iš jo, pvz., „Deepin“ ar „Ubuntu“, galite įdiegti tiesiai iš terminalo, įvesdami šią komandą:
sudo apt-get install cppcheck
Dabar tiems, kurie yra „Fedora“ vartotojai ir jų dariniai, jie gali atlikti diegimą įvesdami šią komandą:
sudo yum instalar cppcheck
Arba tiems, kurie yra „Arch Linux“ vartotojai ar kiti jo dariniai, jie gali įdiegti naudodami šią komandą:
sudo pacman -S cppcheck