Jaunā cppcheck 2.6 versija jau ir izlaista, un tās ir tās ziņas

Izlaišana statiskā koda analizatora versija cppcheck 2.6Ka ļauj atklāt dažāda veida kļūdas C un C ++ kodāpat tad, ja tiek izmantota nestandarta sintakse, kas raksturīga iegultām sistēmām.

Tiek nodrošināta spraudņu kolekcija, ar kuras palīdzību tiek nodrošināta cppcheck integrācija ar dažādām izstrādes, nepārtrauktas integrācijas un pārbaudes sistēmām, kā arī tādas funkcijas kā koda atbilstības pārbaude kodēšanas stilam.

Lai analizētu kodu, jūs varat izmantot gan savu parsētāju, gan ārēju Clang parsētāju. Tas ietver arī skriptu donate-cpu.py, lai nodrošinātu vietējos resursus sadarbības koda pārskatīšanai Debian pakotnēm.

Cppcheck attīstība koncentrējas uz problēmu noteikšanu, kas saistītas ar nenoteiktu uzvedību un konstrukciju izmantošanu, kas ir bīstamas no drošības viedokļa.

Mērķis ir arī samazināt viltus pozitīvos rezultātus. Starp identificētajām problēmām: norādes uz neesošiem objektiem, dalīšana ar nulli, veselu skaitļu pārplūdes, nepareizas bitu maiņas darbības, nepareizas konversijas, atmiņas problēmas, nepareiza STL izmantošana, nulles norāžu atcelšana, pārbaužu piemērošana pēc piekļuves buferim, bufera ierobežojumu pārpildīšana, izmantojot neiniciālus mainīgos.

Cppcheck galvenās jaunās funkcijas 2.6

Šajā jaunajā versijā se ir pievienojušas dažādas pārbaudes parsētāja kodolam, starp kuriem izceļas atgriešanās deklarācijas neesamības pārbaude funkcijas pamattekstā, kā arī datu ierakstu pārklāšanās, nedefinētas uzvedības definīcijas un arī salīdzināmās vērtības pārbaude ir ārpus attēlojuma diapazona. tipa vērtību.

Vēl viens jaunums, kas izceļas, ir kopēšanas optimizācija neattiecas uz atgriešanos std :: move (local);, kā arī tika pievienots atbalsts diagnostikas ziņojumu parādīšanai dažādās krāsās Unix platformām un bibliotēkas tagam tagad var saturēt tagu gudriem rādītājiem, kuriem ir unikāls īpašums. Šāda veida viedajiem rādītājiem tagad tiek izsniegts brīdinājums par saistošām saitēm.

Turklāt, Misra C 2012 kontrole ir pilnībā ieviesta, ieskaitot 1. grozījumu un 2. grozījumu, izņemot 1.1., 1.2. un 17.3. Sastādītājam jāveic 1.1 un 1.2 pārbaudes. Tāds kompilators kā GCC var pārbaudīt 17.3.

Starp pārējām izmaiņām, kas izceļas šīs jaunās versijas:

  • Failu nevar atvērt vienlaikus, lai lasītu un rakstītu dažādās plūsmās;
  • Pievienota ValueFlow simboliskā analīze. Aprēķinot starpību starp diviem nezināmiem mainīgajiem, tiek izmantota vienkārša delta;
  • Noteikumu sarakstam "define" izmantotie noteikumi var atbilst arī #include;
  • Bibliotēkas birka tagad var saturēt tagu un līdz ar to bezmaksas funkcijas, kas var pieņemt tādus konteinerus kā std :: size, std :: empty, std :: begin, std :: end utt. konteineriem varat norādīt pavedienu vai darbību;
  • Novērstas problēmas ar parametra –cppcheck-build-dir apstrādi;
    htmlreport tagad var izdrukāt informāciju par autoru (izmantojot git vainu);
  • Paplašināta brīdinājumu sniegšana par mainīgajiem, kas nav nemainīgi, bet var kļūt nemainīgi;
  • Uzlabotās analizatora kļūdas un trūkumi ir novērsti.

Visbeidzot, ja vēlaties uzzināt vairāk par šo jauno versiju, varat konsultēties sīkāku informāciju šajā saitē.

Kā instalēt cppcheck operētājsistēmā Linux?

Tiem, kurus interesē iespēja instalēt cppcheck savā Linux izplatīšanā, viņi var izpildīt tālāk sniegtos norādījumus.

Ja esat Debian lietotājs vai kāds cits izplatījums, kas balstīts vai iegūts no tā, piemēram, Deepin vai Ubuntu, varat instalēt tieši no termināļa, ierakstot šādu komandu:

sudo apt-get install cppcheck

Tagad tiem, kas ir Fedora lietotāji un tiem, kas no tā iegūti, viņi var veikt instalēšanu, ierakstot šādu komandu:

sudo yum instalar cppcheck

Tiem, kas ir Arch Linux lietotāji vai jebkurš cits tā atvasinājums, viņi var instalēt ar šādu komandu:

sudo pacman -S cppcheck


Raksta saturs atbilst mūsu principiem redakcijas ētika. Lai ziņotu par kļūdu, noklikšķiniet uz šeit.

Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta.

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.