Den nye version af cppcheck 2.6 er allerede udgivet, og det er dens nyheder

Frigivelsen af versionen af ​​den statiske kode -analysator cppcheck 2.6Det gør det muligt at opdage forskellige former for fejl i C- og C ++ - kodenselv ved brug af ikke-standardsyntaks, der er typisk for integrerede systemer.

Der tilbydes en samling plugins, hvorigennem integration af cppcheck med forskellige udviklings-, kontinuerlige integrations- og testsystemer tilbydes samt funktioner såsom kontrol af kodens overensstemmelse med kodestilen.

For at analysere koden, du kan bruge både din egen parser og en ekstern Clang -parser. Det indeholder også et donate-cpu.py-script til at levere lokale ressourcer til samarbejdskodegennemgangsarbejde for Debian-pakker.

Udviklingen af ​​cppcheck fokuserer på at identificere problemer forbundet med udefineret adfærd og brugen af ​​konstruktioner, der er farlige ud fra et sikkerhedsmæssigt synspunkt.

Målet er også at minimere falske positive. Blandt de identificerede problemer: pointer til ikke-eksisterende objekter, division med nul, heltalsoverløb, forkerte bitforskydningsoperationer, forkerte konverteringer, hukommelsesproblemer, forkert brug af STL, dereferencing af null-pointers, anvendelse af kontroller efter en adgangsreale til en buffer , overskrider buffergrænserne ved hjælp af uinitialiserede variabler.

Vigtigste nye funktioner i cppcheck 2.6

I denne nye version se har tilføjet forskellige kontroller til parserens kerne, blandt hvilke verifikationen af ​​fraværet af en returerklæring i funktionens krop skiller sig ud, såvel som overlappende dataposter, udefinerede adfærdsdefinitioner og verifikationen af ​​værdien, der sammenlignes, ligger uden for repræsentationens område af værdien af ​​typen.

En anden nyhed, der skiller sig ud, er kopioptimering gælder ikke for return std :: move (local);, plus support blev tilføjet til visning af diagnostiske meddelelser i forskellige farver til Unix -platforme, og at bibliotekstagget kan nu indeholde et mærke for smarte tips, der har en unik egenskab. Advarsel om dinglende link udstedes nu til disse typer af smarte tips.

Derudover Misra C 2012 kontrol er fuldt ud implementeret, herunder ændringsforslag 1 og ændringsforslag 2, undtagen regler 1.1, 1.2 og 17.3. Kompilatoren skal udføre kontrol 1.1 og 1.2. En kompilator som GCC kan kontrollere 17.3.

Af de andre ændringer, der skiller sig ud af denne nye version:

  • Filen kan ikke åbnes samtidigt for at læse og skrive i forskellige streams;
  • Tilføjet symbolsk analyse for ValueFlow. Et simpelt delta bruges til beregning af forskellen mellem to ukendte variabler;
  • De regler, der bruges til "definér" tokenlisten, kan også matche #include;
  • Bibliotekskoden kan nu indeholde et mærke og dermed gratis funktioner, der kan acceptere containere som std :: size, std :: empty, std :: begin, std :: end osv. du kan angive yeld eller handling for containere;
  • Rettede problemer med håndteringen af ​​parameteren –cppcheck-build-dir;
    htmlreport kan nu udskrive oplysninger om forfatteren (ved hjælp af git blame);
  • Udvidet udsendelse af advarsler om variabler, der ikke er konstante, men kan blive konstante;
  • Akkumulerede analysatorfejl og mangler er rettet.

Endelig, hvis du er interesseret i at vide mere om denne nye version, kan du konsultere detaljerne i følgende link.

Sådan installeres cppcheck på Linux?

For dem, der er interesserede i at kunne installere cppcheck på deres Linux -distribution, kan de følge instruktionerne, vi deler nedenfor.

Hvis du er en Debian -bruger eller en anden distribution baseret eller afledt af den, såsom Deepin eller Ubuntu, kan du installere direkte fra terminalen ved at skrive følgende kommando:

sudo apt-get install cppcheck

Nu for dem, der er Fedora -brugere og dem, der stammer fra det, kan de udføre installationen ved at skrive følgende kommando:

sudo yum instalar cppcheck

Eller for dem, der er Arch Linux -brugere eller andre derivater deraf, kan de installere med følgende kommando:

sudo pacman -S cppcheck


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.