Nová verzia cppcheck 2.6 už bola vydaná a toto sú jej novinky

Uvoľnenie verzia analyzátora statického kódu cppcheck 2.6Že umožňuje detekovať rôzne druhy chýb v kóde C a C ++aj pri použití neštandardnej syntaxe typickej pre vstavané systémy.

Poskytuje sa zbierka doplnkov, prostredníctvom ktorých je zabezpečená integrácia cppcheck s rôznymi vývojovými, kontinuálnymi integračnými a testovacími systémami, ako aj funkcie, ako je kontrola zhody kódu so štýlom kódovania.

Ak chcete analyzovať kód, môžete použiť svoj vlastný analyzátor aj externý analyzátor Clang. Obsahuje tiež skript donate-cpu.py na poskytnutie miestnych zdrojov na spoluprácu pri kontrole kódu pre balíky Debianu.

Vývoj cppcheck zameriava sa na identifikáciu problémov spojených s nedefinovaným správaním a používanie konštrukcií, ktoré sú nebezpečné z hľadiska bezpečnosti.

Cieľom je tiež minimalizovať falošne pozitívne výsledky. Medzi identifikované problémy: ukazovatele na neexistujúce objekty, delenie nulou, celočíselné pretečenie, nesprávne operácie radenia bitov, nesprávne prevody, problémy s pamäťou, nesprávne používanie STL, dereferencovanie nulových ukazovateľov, kontrola po prístupe k vyrovnávacej pamäti, prekročenie limitov vyrovnávacej pamäte pomocou neinicializovaných premenných.

Hlavné nové funkcie cppcheck 2.6

V tejto novej verzii sDo jadra syntaktického analyzátora sme pridali rôzne kontroly, medzi ktorými vyniká overenie absencie výkazu návratnosti v tele funkcie, ako aj overovanie prekrývajúcich sa dátových záznamov, nedefinovaných definícií správania a tiež overovanie porovnávanej hodnoty je mimo rozsah reprezentácie hodnoty typu.

Ďalšou novinkou, ktorá vyniká, je optimalizácia kopírovania sa nevzťahuje na návrat std :: move (local);, plus bola pridaná podpora pre zobrazovanie diagnostických správ v rôznych farbách pre platformy Unix a že značka knižnice teraz môže obsahovať značku pre inteligentné ukazovatele, ktoré majú jedinečnú vlastnosť. Na tieto typy inteligentných ukazovateľov sa teraz vydáva upozornenie na visiace odkazy.

Okrem toho, Ovládacie prvky Misra C 2012 boli plne implementované, vrátane dodatku 1 a doplnku 2, okrem pravidiel 1.1, 1.2 a 17.3. Kompilátor by mal vykonať kontroly 1.1 a 1.2. Kompilátor ako GCC môže skontrolovať 17.3.

Z ďalších zmien, ktoré vynikajú tejto novej verzie:

  • Súbor nemožno otvoriť súčasne na čítanie a zápis v rôznych prúdoch;
  • Pridaná symbolická analýza pre ValueFlow. Na výpočet rozdielu medzi dvoma neznámymi premennými sa používa jednoduchá delta;
  • Pravidlá použité pre zoznam tokenov "definovať" sa môžu tiež zhodovať s #include;
  • Značka knižnice teraz môže obsahovať značku a teda bezplatné funkcie, ktoré môžu prijímať kontajnery ako std :: size, std :: empty, std :: begin, std :: end atď. pre kontajnery môžete zadať žltosť alebo akciu;
  • Opravené problémy so spracovaním parametra –cppcheck-build-dir;
    htmlreport teraz môže tlačiť informácie o autorovi (pomocou git blame);
  • Rozšírené vydávanie upozornení na premenné, ktoré nie sú konštantné, ale môžu sa stať konštantnými;
  • Hromadné chyby a nedostatky analyzátora boli opravené.

Nakoniec, ak máte záujem dozvedieť sa viac o tejto novej verzii, môžete sa poradiť podrobnosti v nasledujúcom odkaze.

Ako nainštalovať cppcheck na Linux?

Tí, ktorí majú záujem nainštalovať si cppcheck do svojej distribúcie Linuxu, môžu sa riadiť pokynmi, ktoré zdieľame nižšie.

Ak ste používateľom Debianu alebo akejkoľvek inej distribúcie z neho odvodenej alebo odvodenej, ako napríklad Deepin alebo Ubuntu, môžete ju nainštalovať priamo z terminálu zadaním nasledujúceho príkazu:

sudo apt-get install cppcheck

Teraz pre tých, ktorí sú používateľmi Fedory a jej derivátmi, môžu inštaláciu vykonať zadaním nasledujúceho príkazu:

sudo yum instalar cppcheck

Alebo pre tých, ktorí sú používateľmi Arch Linuxu alebo iných derivátov, môžu si ho nainštalovať pomocou nasledujúceho príkazu:

sudo pacman -S cppcheck


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.