Siideynta cppcheck 2.6, falanqaynta koodhka taagan ee luqadaha C++ iyo C

Nooc cusub oo ah falanqeeyaha code static cppcheck 2.6 ayaa la siidaayay, kaas oo kuu ogolaanaya inaad aqoonsato noocyo kala duwan oo khaladaad ah oo ku jira koodka luqadaha C iyo C++, oo ay ku jiraan marka la isticmaalayo syntax-ka aan caadiga ahayn, ee caadiga ah ee nidaamyada ku-xidhan. Ururinta plugins ayaa la bixiyaa iyada oo cppcheck lagu dhex daray horumarin kala duwan, is dhexgalka joogtada ah iyo nidaamyada tijaabinta, iyo sidoo kale waxay bixisaa sifooyin sida hubinta u hoggaansanaanta koodka qaabka koodka. Si loo kala saaro koodka, waxaad isticmaali kartaa baarserkaaga ama baarser dibadeed oo Clang ah. Waxa kale oo ka mid ah qoraalka ku deeqa-cpu.py si loo bixiyo agab maxalli ah si loo qabto shaqada dib u eegista koodka ee xirmooyinka Debian. Koodhka isha ee mashruuca waxaa lagu qaybiyaa shatiga GPLv3.

Horumarinta cppcheck waxay diiradda saartaa aqoonsiga dhibaatooyinka la xidhiidha dabeecadaha aan la qeexin iyo isticmaalka naqshadaha khatarta ah marka loo eego aragtida badbaadada. Hadafka sidoo kale waa in la yareeyo wanaagga beenta ah. Dhibaatooyinka la aqoonsaday waxaa ka mid ah: tilmaamayaasha walxaha aan jirin, kala qaybinta eber, qulqulka xad-dhaafka ah, hawlgallada isbeddelka saxda ah, beddelidda khaldan, dhibaatooyinka marka la shaqeynayo xusuusta, isticmaalka khaldan ee STL, tilmaame null ah, isticmaalka jeegaga ka dib helitaanka dhabta ah ilaa kaydka, bakhaar dhaafka, isticmaalka doorsoomayaasha aan la garanayn.

Nooca cusub:

  • Jeegaga soo socda ayaa lagu daray xudunta falanqaynta:
    • maqnaanshaha hawlwadeenka soo noqoshada ee jidhka shaqada;
    • diiwaan geliyaa xogta is dulsaaran, go'aamisa habdhaqanka aan la qeexin;
    • qiimaha la barbardhigayaa waa ka baxsan yahay matalaadda qiimaha nooca;
    • koobi hagaajintu ma khusayso soo celinta std :: dhaqaaq (maxali);
    • faylka isku mar laguma furi karo akhriska iyo qorista durdurrada kala duwan (qulqulka);
  • loogu talagalay aaladaha Unix, oo lagu daray taageerada muujinta farriimaha ogaanshaha ee midabyo kala duwan;
  • lagu daray falanqaynta astaanta u ah ValueFlow. Wuxuu adeegsadaa delta fudud marka uu xisaabinayo faraqa u dhexeeya laba doorsoome oo aan la garanayn;
  • xeerarka loo isticmaalo liiska calaamadaha "qeexee" sidoo kale waa la mid ah #include;
  • sumadda maktabadda hadda waxa ku jiri kara calaamad , iyo sida waafaqsan hawlaha bilaashka ah, kuwaas oo aqbali kara weelasha sida std :: size, std :: faaruq, std :: bilow, std :: dhamaadka, iwm. wuxuu qeexi karaa yeld ama ficil xiriiriyeyaasha;
  • sumadda maktabadda hadda waxa ku jiri kara calaamad Tilmaamayaal caqli-gal ah oo leh lahaansho gaar ah. Digniin hadda la soo saaray oo ku saabsan tix-raacyada jaahwareerka ah ee noocyadan tilmaamayaasha caqliga leh;
  • dhibaatooyinka go'an ee habaynta -cppcheck-build-dir parameter;
  • htmlreport hadda waxay soo bandhigi kartaa macluumaadka ku saabsan qoraaga (adigoo isticmaalaya git eedeeyay);
  • digniino dheeraad ah oo ku saabsan doorsoomayaasha aan joogtada ahayn, laakiin noqon kara;
  • Qaladaadka iyo khaladaadka urursan ee falanqeeyuhu waa la saxay.

Intaa waxaa dheer, jeegaga ka yimid Misra C 2012, oo ay ku jiraan wax ka beddelka 1 iyo wax ka beddelka 2, ayaa si buuxda loo fuliyay, marka laga reebo xeerarka 1.1, 1.2 iyo 17.3. Jeegaga 1.1 iyo 1.2 waa in uu sameeyo iskudubariduhu. Xaqiijinta 17.3 waxaa samayn kara iskuduwe sida GCC.

Source: opennet.ru

Add a comment