Kuburitswa kwecppcheck 2.6, static code analyzer yeC++ neC mitauro

Shanduro itsva ye static code analyzer cppcheck 2.6 yakasunungurwa, iyo inokutendera kuti uone makirasi akasiyana-siyana ezvikanganiso mukodhi mumitauro yeC neC ++, kusanganisira kana uchishandisa isiri-standard syntax, yakajairika kune akaiswa masisitimu. Muunganidzwa wema plugins unopiwa kuburikidza neiyo cppcheck inosanganiswa neyakasiyana budiriro, inoenderera mberi yekubatanidza uye yekuyedza masisitimu, uye inopawo maficha akadai sekutarisa kutevedza kwekodhi nekodhi maitiro. Kuti utarise kodhi, unogona kushandisa yako wega parser kana yekunze parser kubva kuClang. Iyo inosanganisirawo donate-cpu.py script yekupa zviwanikwa zvemuno kuita yekudyidzana kodhi yekuongorora basa reDebian mapakeji. Iyo kodhi kodhi yeprojekiti yakagoverwa pasi peGPLv3 rezinesi.

Kuvandudzwa kwecppcheck kwakanangana nekuona matambudziko ane chekuita nehunhu husina kutsanangurwa uye kushandiswa kwezvigadziriso zvine njodzi kubva pakuona kwekuchengetedza. Chinangwa chacho zvakare kuderedza maitiro enhema. Pakati pezvinetso zvakaonekwa: zvinongedzo kune zvinhu zvisipo, kupatsanurwa ne zero, nhamba inofashukira, zvisizvo zvishoma zvishoma, shanduko dzisiridzo, matambudziko kana uchishanda nendangariro, kushandiswa kusiri kweSTL, null pointer dereferences, kushandiswa kwecheki mushure mekuwana chaiko. kune buffer, buffer overruns, kushandiswa kwezvisina kufananidzwa zvakasiyana.

Mushanduro itsva:

  • Macheki anotevera akawedzerwa kune analyzer core:
    • kusavapo kweanodzoka opareta mumutumbi webasa;
    • inorekodha data inopindirana, inosarudza maitiro asina kutsanangurwa;
    • kukosha kuri kufananidzwa kuri kunze kwekumiririra kukosha kwerudzi;
    • kopi optimization haishande kudzoka std :: fambisa (yemunharaunda);
    • iyo faira haigone kuvhurwa panguva imwe chete yekuverenga nekunyora muhova dzakasiyana (rukova);
  • yeUnix mapuratifomu, yakawedzera rutsigiro rwekuratidzira mameseji ekuongorora mune akasiyana mavara;
  • yakawedzera ongororo yekufananidzira yeValueFlow. Inoshandisa delta iri nyore paunenge uchiverenga mutsauko pakati pezviviri zvisingazivikanwe zvakasiyana;
  • iyo mitemo inoshandiswa pakurongwa kwezviratidzo "define" inogonawo kufanana #include;
  • library tag ikozvino inogona kuve ne tag , uye saizvozvo mabasa emahara, anogona kugamuchira midziyo yakadai se std::saizi, std::isina chinhu, std::kutanga, std::kuguma, nezvimwe. inogona kutsanangura yeld kana chiito chezvibatanidza;
  • library tag ikozvino inogona kuve ne tag kune smart pointers ine yakasarudzika muridzi. Yambiro yave kupihwa nezve mareferenzi akarembera kune aya marudzi ehungwaru anonongedzera;
  • yakagadziriswa matambudziko nekugadzirisa iyo -cppcheck-build-dir parameter;
  • htmlreport ikozvino inogona kuratidza ruzivo nezve munyori (uchishandisa git blame);
  • yakawedzera yambiro pamusoro pezvakasiyana-siyana zvisingagari, asi zvinogona kuva;
  • Izvo zvakaunganidzwa zvikanganiso uye zvikanganiso zveanalyzer zvakagadziriswa.

Pamusoro pezvo, cheki dzakabva kuMisra C 2012, kusanganisira Amendment 1 uye Amendment 2, dzakaitwa zvizere, kunze kwemitemo 1.1, 1.2 uye 17.3. Cheki 1.1 uye 1.2 inofanira kuitwa nemuunganidzi. Verification 17.3 inogona kuitwa necompiler seGCC.

Source: opennet.ru

Voeg