Cppcheck 2.6: n uusi versio on jo julkaistu ja nämä ovat sen uutisia

Vapautus staattisen koodianalysaattorin versio cppcheck 2.6Että mahdollistaa erilaisten virheiden havaitsemisen C- ja C ++ -koodeissamyös käytettäessä sulautetuille järjestelmille tyypillistä epätyypillistä syntaksia.

Tarjolla on laajennuskokoelma, jonka kautta tarjotaan cppcheckin integrointi eri kehitys-, jatkuvaan integrointi- ja testausjärjestelmiin sekä ominaisuuksia, kuten koodin noudattamisen tarkistaminen koodityylin kanssa.

Koodin analysoimiseksi Voit käyttää sekä omaa jäsentäjää että ulkoista Clang -jäsennystä. Se sisältää myös donate-cpu.py-komentosarjan, joka tarjoaa paikallisia resursseja Debian-pakettien yhteistyökoodin tarkistustyöhön.

Cppcheckin kehitys keskittyy määrittelemättömään käyttäytymiseen liittyvien ongelmien tunnistamiseen ja turvallisuuden kannalta vaarallisten rakenteiden käyttö.

Tavoitteena on myös minimoida vääriä positiivisia. Tunnistetuista ongelmista: osoittimet olemattomille objekteille, jako nollalla, kokonaislukujen ylivuoto, virheelliset bittisiirtotoiminnot, väärät muunnokset, muistiongelmat, STL: n väärä käyttö, nollapisteiden poistaminen käytöstä, tarkistusten tekeminen puskuriin pääsyn jälkeen , puskurirajojen ylittäminen käyttämällä alustamattomia muuttujia.

Cppcheck 2.6: n tärkeimmät uudet ominaisuudet

Tässä uudessa versiossa se ovat lisänneet erilaisia ​​tarkistuksia jäsentimen ytimeen, joista paljastuu paluuilmoituksen puuttumisen tarkistus toiminnon rungossa, samoin kuin päällekkäisten datatietueiden, määrittelemättömien käyttäytymismääritelmien ja myös vertailtavan arvon tarkistaminen on esitysalueen ulkopuolella tyypin arvosta.

Toinen uutuus, joka erottuu, on kopioinnin optimointi ei koske paluuta std :: move (paikallinen);, sekä tuki lisättiin diagnostisten viestien näyttämiseen eri väreissä Unix -alustoille ja kirjasto -tunnisteelle voi nyt sisältää tunnisteen älykkäille osoittimille, joilla on ainutlaatuinen ominaisuus. Tämän tyyppisille älykkäille osoittimille annetaan nyt roikkuvan linkin varoitus.

Lisäksi, Misra C 2012 -ohjaimet on otettu täysin käyttöön, mukaan lukien tarkistus 1 ja tarkistus 2, lukuun ottamatta sääntöjä 1.1, 1.2 ja 17.3. Kääntäjän tulee suorittaa tarkistukset 1.1 ja 1.2. GCC: n kaltainen kääntäjä voi tarkistaa 17.3.

Muista erottuvista muutoksista tästä uudesta versiosta:

  • Tiedostoa ei voi avata samanaikaisesti lukuun ja kirjoittamiseen eri virroissa;
  • Lisätty symbolinen analyysi ValueFlow'lle. Yksinkertaista deltaa käytetään laskettaessa kahden tuntemattoman muuttujan välistä eroa;
  • Määrittelymerkkiluettelon säännöt voivat myös vastata #include;
  • Kirjaston tunniste voi nyt sisältää tunnisteen ja siten ilmaisia ​​toimintoja, jotka voivat vastaanottaa säilöjä, kuten std :: size, std :: empty, std :: begin, std :: end jne. voit määrittää säiliöiden yeldin tai toimenpiteen;
  • Korjatut ongelmat –cppcheck-build-dir -parametrin käsittelyssä;
    htmlreport voi nyt tulostaa tietoja tekijästä (käyttämällä git syyllistämistä);
  • Laajennettu varoitusten antaminen muuttujille, jotka eivät ole vakioita, mutta voivat muuttua vakioiksi;
  • Kertyneet analysaattorivirheet ja puutteet on korjattu.

Lopuksi, jos haluat tietää enemmän tästä uudesta versiosta, voit kysyä neuvoa yksityiskohdat seuraavassa linkissä.

Kuinka asentaa cppcheck Linuxiin?

Niille, jotka ovat kiinnostuneita cppcheckin asentamisesta Linux -jakeluunsa, he voivat noudattaa alla olevia ohjeita.

Jos olet Debian -käyttäjä tai mikä tahansa muu jakelu, kuten Deepin tai Ubuntu, voit asentaa sen suoraan päätteestä kirjoittamalla seuraavan komennon:

sudo apt-get install cppcheck

Nyt ne, jotka ovat Fedora -käyttäjiä ja niistä johdettuja, voivat suorittaa asennuksen kirjoittamalla seuraavan komennon:

sudo yum instalar cppcheck

Tai niille, jotka ovat Arch Linux -käyttäjiä tai muita sen johdannaisia, he voivat asentaa seuraavan komennon:

sudo pacman -S cppcheck