Nova verzija cppchecka 2.6 već je objavljena i ovo su njegove vijesti

Izdanje verzija statičkog analizatora koda cppcheck 2.6que omogućava otkrivanje različitih vrsta grešaka u C i C ++ kodučak i kada se koristi nestandardna sintaksa tipična za ugrađene sisteme.

Omogućena je zbirka dodataka putem kojih je omogućena integracija cppcheck -a sa različitim sistemima razvoja, kontinuirane integracije i testiranja, kao i funkcije kao što je provjera usklađenosti koda sa stilom kodiranja.

Za analizu koda, možete koristiti i svoj parser i vanjski Clang parser. Takođe uključuje skriptu donate-cpu.py koja pruža lokalne resurse za zajednički rad na pregledu koda za Debian pakete.

Razvoj cppchecka fokusira se na identificiranje problema povezanih s nedefiniranim ponašanjem i korištenje konstrukcija koje su opasne sa sigurnosnog stajališta.

Cilj je i minimiziranje lažno pozitivnih rezultata. Među identificiranim problemima: pokazivači na nepostojeće objekte, podjela na nulu, prelijevanje cijelih brojeva, neispravne operacije pomicanja bitova, neispravne konverzije, problemi s memorijom, neispravna upotreba STL-a, dereferenciranje nultih pokazivača, primjena provjera nakon realnog pristupa međuspremniku, prekoračenje ograničenja bafera, koristeći neinicijalizirane varijable.

Glavne nove značajke cppchecka 2.6

U ovoj novoj verziji sDodali smo različite provjere u jezgru rastavljača, među kojima se ističe provjera nepostojanja povratne deklaracije u tijelu funkcije, kao i preklapanje zapisa podataka, nedefiniranih definicija ponašanja, a također i provjera vrijednosti koja se uspoređuje je izvan raspona reprezentacije vrijednost tipa.

Još jedna novina koja se ističe je optimizacija kopije se ne odnosi na vraćanje std :: move (lokalno);, plus je dodana podrška za prikazivanje dijagnostičkih poruka u različitim bojama za Unix platforme i ta oznaka biblioteke sada može sadržavati oznaku za pametne pokazivače koji imaju jedinstvena svojstva. Upozorenje o zbunjujućoj vezi sada se izdaje za ovu vrstu pametnih pokazivača.

Takođe, Kontrole Misra C 2012 su u potpunosti implementirane, uključujući Amandman 1 i Amandman 2, osim pravila 1.1, 1.2 i 17.3. Prevodilac treba da izvrši provere 1.1 i 1.2. Kompajler poput GCC -a može provjeriti 17.3.

Od ostalih promjena koje se ističu ove nove verzije:

  • Datoteka se ne može otvoriti istovremeno za čitanje i pisanje u različitim tokovima;
  • Dodana simbolična analiza za ValueFlow. Jednostavna delta se koristi pri izračunavanju razlike između dvije nepoznate varijable;
  • Pravila koja se koriste za "token" listu žetona takođe mogu odgovarati #include;
  • Oznaka biblioteke sada može sadržavati oznaku a time i besplatne funkcije koje mogu prihvatiti kontejnere poput std :: size, std :: empty, std :: begin, std :: end itd. možete navesti vikanje ili radnju za kontejnere;
  • Rešeni problemi sa rukovanjem parametrom –cppcheck-build-dir;
    htmlreport sada može ispisati podatke o autoru (koristeći git обвиnjavanje);
  • Prošireno izdavanje upozorenja o varijablama koje nisu konstantne, ali mogu postati konstantne;
  • Akumulirane greške i nedostaci analizatora su popravljeni.

Konačno, ako vas zanima više o ovoj novoj verziji, možete se posavjetovati detalje na sljedećem linku.

Kako instalirati cppcheck na Linux?

Za one koji su zainteresirani da mogu instalirati cppcheck na svoju Linux distribuciju, mogu slijediti upute koje dijelimo u nastavku.

Ako ste korisnik Debiana ili bilo koje druge distribucije koja se temelji ili izvodi iz njega, kao što su Deepin ili Ubuntu, možete instalirati izravno s terminala upisivanjem sljedeće naredbe:

sudo apt-get install cppcheck

Sada oni koji su korisnici Fedore i oni koji su izvedeni iz nje, mogu izvršiti instalaciju upisivanjem sljedeće naredbe:

sudo yum instalar cppcheck

Ili za one koji su korisnici Arch Linuxa ili bilo kojeg drugog derivata, mogu instalirati sa sljedećom naredbom:

sudo pacman -S cppcheck


Sadržaj članka pridržava se naših principa urednička etika. Da biste prijavili grešku, kliknite ovdje.

Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena.

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.