De nije ferzje fan cppcheck 2.6 is al frijlitten en dit binne har nijs

De frijlitting fan de ferzje fan 'e statyske koade -analysator cppcheck 2.6, que makket it mooglik ferskate soarten flaters te detektearjen yn C en C ++ koadesels by it brûken fan net-standert syntaksis typysk foar ynbêde systemen.

In kolleksje plugins wurdt levere wêrmei de yntegraasje fan cppcheck mei ferskate ûntwikkeling, trochgeande yntegraasje en testsystemen wurdt levere, lykas funksjes lykas kontrolearjen fan koade -neilibjen mei de kodearstyl.

Om de koade te analysearjen, jo kinne sawol jo eigen parser as in eksterne Clang -parser brûke. It omfettet ek in donate-cpu.py-skript om lokale boarnen te leverjen foar gearwurkjend koade-oersjochwurk foar Debian-pakketten.

De ûntwikkeling fan cppcheck rjochtet him op it identifisearjen fan problemen ferbûn mei undefined gedrach en it brûken fan konstruksjes dy't gefaarlik binne fanút in feiligensoogpunt.

It doel is ek om falske positiven te minimalisearjen. Under de identifisearre problemen: oanwizings nei net-besteande objekten, divyzje mei nul, integer-oerstreamingen, minne bit-ferskowende operaasjes, minne konversaasjes, ûnthâldproblemen, ferkeard gebrûk fan STL, dereferencing fan nullpointers, kontrôles tapasse nei in echte tagong ta in buffer , oerfloedich de buffergrinzen, mei net -inisjalisearre fariabelen.

Nije haadfunksjes fan cppcheck 2.6

Yn dizze nije ferzje se hawwe ferskate kontrôles tafoege oan 'e kernel fan' e parser, wêrûnder de ferifikaasje fan 'e ôfwêzigens fan in retourferklearring yn' e lichem fan 'e funksje opfalt, lykas dy fan oerlappende gegevensrekords, net definieare gedrachsdefinysjes en ek de ferifikaasje foar de wearde dy't wurdt fergelike, is bûten it berik fan' e fertsjintwurdiging fan de wearde fan it type.

In oare nijichheid dy't opfalt is de kopiearje optimalisaasje is net fan tapassing op werom std :: move (local);, plus stipe waard tafoege foar it werjaan fan diagnostyske berjochten yn ferskate kleuren foar Unix -platfoarms en dat de bibleteek -tag kin no in tag befetsje foar tûke oanwizings dy't unyk eigendom hawwe. Dangling link warskôging wurdt no útjûn foar dizze soarten tûke oanwizings.

Ek, Misra C 2012 kontrôles binne folslein útfierd, ynklusyf amendemint 1 en amendemint 2, útsein foar regels 1.1, 1.2 en 17.3. De gearstaller moat kontrôles 1.1 en 1.2 útfiere. In gearstaller lykas GCC kin kontrolearje 17.3.

Fan 'e oare feroaringen dy't opfalle fan dizze nije ferzje:

  • It bestân kin net tagelyk wurde iepene foar lêzen en skriuwen yn ferskate streams;
  • Symboalyske analyse tafoege foar ValueFlow. In ienfâldige delta wurdt brûkt by it berekkenjen fan it ferskil tusken twa ûnbekende fariabelen;
  • De regels brûkt foar de "definiearje" tokenlist kinne ek oerienkomme mei #include;
  • De bibleteek tag kin no in tag befetsje en dus fergese funksjes dy't konteners kinne akseptearje lykas std :: grutte, std :: leech, std :: begjinne, std :: ein, ensfh. jo kinne yeld as aksje foar konteners oantsjutte;
  • Fêste problemen mei it ôfhanneljen fan de –cppcheck-build-dir parameter;
    htmlreport kin no ynformaasje oer de auteur printsje (mei git -skuld brûke);
  • Utwreide útjefte fan warskôgings oer fariabelen dy't net konstant binne, mar konstant kinne wurde;
  • Akkumuleare analyserbugs en tekoarten binne repareare.

As lêste, as jo ynteressearre binne yn mear te witten oer dizze nije ferzje, kinne jo rieplachtsje de details yn 'e folgjende link.

Hoe kin cppcheck ynstalleare op Linux?

Foar dyjingen dy't ynteressearre binne yn it ynstallearjen fan cppcheck op har Linux -distribúsje, kinne se de ynstruksjes folgje dy't wy hjirûnder diele.

As jo ​​in Debian -brûker binne as in oare ferdieling basearre op of ôflaat dêrfan lykas Deepin of Ubuntu, kinne jo direkt ynstallearje fan 'e terminal troch it folgjende kommando te typen:

sudo apt-get install cppcheck

No foar dyjingen dy't Fedora -brûkers binne en dy't derfan binne ôflaat, kinne se de ynstallaasje útfiere troch it folgjende kommando yn te typen:

sudo yum instalar cppcheck

Of foar dyjingen dy't Arch Linux -brûkers binne as in oare derivaat dêrfan, kinne se ynstallearje mei it folgjende kommando:

sudo pacman -S cppcheck


De ynhâld fan it artikel hâldt him oan ús prinsipes fan redaksje etyk, Om in flater te melden klikje hjir.

Wês de earste om kommentaar

Lit jo reaksje efter

Jo e-mailadres wurdt net publisearre. Ferplichte fjilden binne markearre mei *

*

*

  1. Ferantwurdlik foar de gegevens: Miguel Ángel Gatón
  2. Doel fan 'e gegevens: Control SPAM, kommentaarbehear.
  3. Legitimaasje: jo tastimming
  4. Kommunikaasje fan 'e gegevens: De gegevens wurde net oan tredden kommunisearre, útsein troch wetlike ferplichting.
  5. Gegevensopslach: Databank hoste troch Occentus Networks (EU)
  6. Rjochten: Op elk momint kinne jo jo ynformaasje beheine, herstelle en wiskje.