Nova različica cppcheck 2.6 je že izšla in to so njene novice

Sprostitev različico analizatorja statične kode cppcheck 2.6To omogoča odkrivanje različnih vrst napak v kodi C in C ++tudi pri uporabi nestandardne skladnje, značilne za vgrajene sisteme.

Zagotovljena je zbirka vtičnikov, ki omogočajo integracijo cppchecka z različnimi razvojnimi, neprekinjenimi integracijskimi in preskusnimi sistemi ter funkcije, kot je preverjanje skladnosti kode s slogom kodiranja.

Če želite analizirati kodo, lahko uporabite svoj razčlenjevalnik in zunanji razčlenjevalnik Clang. Vključuje tudi skript donate-cpu.py, ki zagotavlja lokalne vire za delo pri skupnem pregledu kode za pakete Debian.

Razvoj cppcheck se osredotoča na prepoznavanje težav, povezanih z nedoločenim vedenjem in uporabo konstrukcij, ki so z varnostnega vidika nevarne.

Cilj je tudi zmanjšati število lažno pozitivnih rezultatov. Med ugotovljenimi težavami: kazalci na neobstoječe objekte, deljenje z ničlo, prelivanje celega števila, nepravilne operacije premikanja bitov, napačne pretvorbe, težave s pomnilnikom, nepravilna uporaba STL, razmejitev ničelnih kazalcev, uporaba preverjanj po resničnem dostopu do vmesnika, preseganje omejitev medpomnilnika z uporabo neinicializiranih spremenljivk.

Glavne nove funkcije cppcheck 2.6

V tej novi različici se smo jedru razčlenjevalca dodali različne preglede, med katerimi izstopa preverjanje odsotnosti povratne izjave v telesu funkcije, pa tudi prekrivanje podatkovnih zapisov, nedefiniranih opredelitev vedenja in tudi preverjanje vrednosti, ki se primerja, izven obsega reprezentacije vrednost vrste.

Druga novost, ki izstopa, je optimizacija kopiranja ne velja za vrnitev std :: move (lokalno);, dodana je podpora za prikaz diagnostičnih sporočil v različnih barvah za platforme Unix in to oznako knjižnice lahko zdaj vsebuje oznako za pametne kazalce, ki imajo edinstveno lastnost. Za tovrstne pametne kazalce je zdaj izdano opozorilo o viseči povezavi.

Poleg tega, Nadzor Misra C 2012 je bil v celoti izveden, vključno s spremembo 1 in spremembo 2, razen pravil 1.1, 1.2 in 17.3. Prevajalnik mora opraviti preverjanja 1.1 in 1.2. Prevajalnik, kot je GCC, lahko preveri 17.3.

Od ostalih sprememb, ki izstopajo te nove različice:

  • Datoteke ni mogoče hkrati odpreti za branje in pisanje v različnih tokovih;
  • Dodana simbolična analiza za ValueFlow. Pri izračunu razlike med dvema neznanima spremenljivkama se uporablja preprosta delta;
  • Pravila, ki se uporabljajo za seznam žetonov "define", se lahko ujemajo tudi z #include;
  • Oznaka knjižnice lahko zdaj vsebuje oznako in s tem brezplačne funkcije, ki lahko sprejmejo vsebnike, kot so std :: size, std :: empty, std :: begin, std :: end itd. lahko določite vik ali dejanje za zabojnike;
  • Odpravljene težave pri ravnanju s parametrom –cppcheck-build-dir;
    htmlreport lahko zdaj natisne podatke o avtorju (z uporabo git krivi);
  • Podaljšano izdajanje opozoril o spremenljivkah, ki niso konstantne, lahko pa postanejo konstantne;
  • Odpravljene so nakopičene napake in pomanjkljivosti analizatorja.

Nazadnje, če vas zanima več o tej novi različici, se lahko posvetujete podrobnosti na naslednji povezavi.

Kako namestiti cppcheck v Linux?

Za tiste, ki jih zanima namestitev cppchecka na distribucijo Linuxa, lahko upoštevajo spodnja navodila.

Če ste uporabnik Debiana ali katere koli druge distribucije, ki temelji ali izhaja iz nje, na primer Deepin ali Ubuntu, jo lahko namestite neposredno iz terminala tako, da vnesete naslednji ukaz:

sudo apt-get install cppcheck

Zdaj za tiste, ki so uporabniki Fedore, in tiste, ki izhajajo iz nje, lahko namestitev izvedejo tako, da vnesejo naslednji ukaz:

sudo yum instalar cppcheck

Ali pa za tiste, ki so uporabniki Arch Linuxa ali katerega koli drugega izpeljanke, ga lahko namestijo z naslednjim ukazom:

sudo pacman -S cppcheck


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.