Den nye versjonen av cppcheck 2.6 er allerede utgitt, og dette er nyhetene

Utgivelsen av versjonen av den statiske kodeanalysatoren cppcheck 2.6At gjør det mulig å oppdage forskjellige typer feil i C- og C ++ - kodenselv når du bruker ikke-standard syntaks som er typisk for innebygde systemer.

Det finnes en samling plugins som gir integrasjon av cppcheck med ulike utviklings-, kontinuerlige integrerings- og testsystemer, samt funksjoner som kontroll av kodens samsvar med kodestilen.

For å analysere koden, du kan bruke både din egen parser og en ekstern Clang -parser. Den inneholder også et donate-cpu.py-skript for å gi lokale ressurser for samarbeidskodeanalyse for Debian-pakker.

Utviklingen av cppcheck fokuserer på å identifisere problemer knyttet til udefinert oppførsel og bruk av konstruksjoner som er farlige fra et sikkerhetsmessig synspunkt.

Målet er også å minimere falske positiver. Blant problemene som er identifisert: pekepunkter til objekter som ikke eksisterer, divisjon med null, heltallsoverflater, feil bitforskyvningsoperasjoner, feil konverteringer, minneproblemer, feil bruk av STL, dereferencing nullpekere, bruk av kontroller etter en real tilgang til en buffer, overskrider buffergrensene, ved hjelp av ikke -initialiserte variabler.

Nye hovedfunksjoner i cppcheck 2.6

I denne nye versjonen se har lagt til forskjellige sjekker i kjernen til parserenhvor blant annet verifiseringen av fraværet av en returerklæring i funksjonskroppen skiller seg ut, så vel som overlappende dataposter, udefinerte atferdsdefinisjoner og verifikasjonen for verdien som sammenlignes, ligger utenfor representasjonens område av verdien av typen.

En annen nyhet som skiller seg ut er kopieringsoptimalisering gjelder ikke for retur std :: move (local);, pluss støtte ble lagt til for visning av diagnostiske meldinger i forskjellige farger for Unix -plattformer og at bibliotekstaggen kan nå inneholde en tag for smarte tips som har unik eiendom. Dingling link -advarsel er nå utstedt til denne typen smarte tips.

Videre Misra C 2012 -kontroller er fullstendig implementert, inkludert endring 1 og endring 2, unntatt reglene 1.1, 1.2 og 17.3. Kompilatoren bør utføre kontrollene 1.1 og 1.2. En kompilator som GCC kan sjekke 17.3.

Av de andre endringene som skiller seg ut av denne nye versjonen:

  • Filen kan ikke åpnes samtidig for å lese og skrive i forskjellige strømmer;
  • Lagt til symbolsk analyse for ValueFlow. Et enkelt delta brukes ved beregning av forskjellen mellom to ukjente variabler;
  • Reglene som brukes for "definere" tokenlisten kan også matche #include;
  • Bibliotekskoden kan nå inneholde en tag og dermed gratisfunksjoner som kan godta beholdere som std :: size, std :: empty, std :: begin, std :: end, etc. du kan angi gjeld eller handling for containere;
  • Fikset problemer med håndteringen av parameteren –cppcheck-build-dir;
    htmlreport kan nå skrive ut informasjon om forfatteren (ved hjelp av git blame);
  • Utvidet advarsel om variabler som ikke er konstante, men kan bli konstante;
  • Akkumulerte analysatorfeil og mangler er løst.

Til slutt, hvis du er interessert i å vite mer om denne nye versjonen, kan du konsultere detaljene i følgende lenke.

Hvordan installere cppcheck på Linux?

For de som er interessert i å kunne installere cppcheck på Linux -distribusjonen, kan de følge instruksjonene vi deler nedenfor.

Hvis du er en Debian -bruker eller en annen distribusjon basert eller avledet fra den, for eksempel Deepin eller Ubuntu, kan du installere direkte fra terminalen ved å skrive følgende kommando:

sudo apt-get install cppcheck

Nå for de som er Fedora -brukere og derivater av den, kan de utføre installasjonen ved å skrive følgende kommando:

sudo yum instalar cppcheck

Eller for de som er Arch Linux -brukere eller andre derivater av det, kan de installere med følgende kommando:

sudo pacman -S cppcheck


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.