Inguqulelo entsha ye-cppcheck 2.6 static code analyzer ikhutshiwe. Ifumanisa iindidi ezahlukeneyo zeempazamo kwikhowudi ye-C kunye ne-C++, kuquka ezo zisebenzisa i-syntax engeyiyo eqhelekileyo yeenkqubo ezifakwe ngaphakathi. Ingqokelela yee-plugins iyafumaneka evumela ukuhlanganiswa kwe-cppcheck neenkqubo ezahlukeneyo zophuhliso, ukuhlanganiswa okuqhubekayo, kunye neenkqubo zokuvavanya, kunye neempawu ezifana nokujonga isitayile sekhowudi. Zombini i-native parser kunye ne-external Clang parser zingasetyenziselwa uhlalutyo lwekhowudi. Le phakheji ikwabandakanya iskripthi se-donate-cpu.py sokubonelela ngezixhobo zasekuhlaleni zokujonga ikhowudi yephakheji ngokubambisana. DebianIkhowudi yomthombo weprojekthi isasazwa phantsi kwelayisenisi yeGPLv3.
Ukuphuhliswa kwe-cppcheck kugxininise ekuchongeni iingxaki ezinxulumene nokuziphatha okungachazwanga kunye nokusetyenziswa koyilo oluyingozi kwimbono yokhuseleko. Injongo kwakhona kukunciphisa iimpawu zobuxoki. Phakathi kweengxaki ezichongiweyo: izikhombisi kwizinto ezingekhoyo, ulwahlulo ngo-zero, ukuphuphuma kwenani elipheleleyo, ukusebenza kwe-bit shift engachanekanga, uguqulo olungachanekanga, iingxaki xa usebenza ngememori, usetyenziso olungachanekanga lwe-STL, i-null pointer dereferences, ukusetyenziswa kweetshekhi emva kofikelelo lokwenene. kwi-buffer, i-buffer overruns , ukusetyenziswa kwezinto eziguquguqukayo ezingaqaliswanga.
Kwinguqulelo entsha:
- Olu vavanyo lulandelayo longezwe kwi-analyzer core:
- ukungabikho komsebenzisi wokubuyisela kwiqumrhu lomsebenzi;
- iirekhodi ezidlulayo idatha, imisela indlela yokuziphatha engachazwanga;
- ixabiso elithelekiswayo lingaphandle komelo lwexabiso lohlobo;
- usetyenziso lwekopi alusebenzi ekubuyiseni i-std::hambisa(yendawo);
- ifayile ayikwazi ukuvulwa ngaxeshanye ukufunda nokubhala kwimijelo eyahlukeneyo (umsinga);
- kwiiplatifti ze-Unix, inkxaso eyongeziweyo yokubonisa imiyalezo yokuxilonga ngemibala eyahlukeneyo;
- uhlalutyo olongezelelekileyo lomfuziselo weValueFlow. Isebenzisa i-delta elula xa ubala umahluko phakathi kwezinto ezimbini ezingaziwayo;
- imithetho esetyenziswa kuluhlu lweempawu "zichaza" zinokutshatisa #include;
- ithegi yethala leencwadi ngoku ingaqulatha ithegi , kwaye ngokufanelekileyo imisebenzi yasimahla, enokwamkela izikhongozeli ezifana ne-std::ubungakanani, std::engenanto, std::qala, std::end, njl. ingachaza i-yeld okanye inyathelo lezixhumanisi;
- ithegi yethala leencwadi ngoku ingaqulatha ithegi izikhombisi ezihlakaniphile ezinobunikazi obukhethekileyo. Isilumkiso ngoku sikhutshiwe malunga neembekiselo ezijingayo kwezi ntlobo zezalathisi ezikrelekrele;
- iingxaki ezilungisiweyo ngokusetyenzwa kwe--cppcheck-build-dir parameter;
- Ingxelo ye-html ngoku ingabonisa ulwazi malunga nombhali (usebenzisa i-git blame);
- izilumkiso ezongeziweyo malunga nezinto eziguquguqukayo ezingatshintshiyo, kodwa ezinokuba;
- Iimpazamo eziqokelelweyo kunye neentsilelo ze-analyzer zilungisiwe.
Ukongezelela, iitshekhi ezivela kwi-Misra C 2012, kuquka i-Amendment 1 kunye ne-Amendment 2, ziphunyezwe ngokupheleleyo, ngaphandle kwemigaqo 1.1, 1.2 kunye ne-17.3. Iitshekhi 1.1 no-1.2 maziqhutywe ngumqambi. Ukuqinisekiswa kwe-17.3 kunokwenziwa ngumqokeleli onjenge-GCC.
umthombo: opennet.ru
