Версияи нави cppcheck 2.6 аллакай бароварда шудааст ва ин хабарҳои он мебошанд

Озодкунии версияи таҳлилгари кодҳои статикӣ cppcheck 2.6, que имкон медиҳад, ки намудҳои гуногуни хатогиҳо дар кодҳои C ва C ++ ошкор карда шавандҳатто ҳангоми истифодаи синтаксиси ғайри стандартӣ, ки ба системаҳои дарунсохт хос аст.

Маҷмӯи плагинҳо пешкаш карда мешаванд, ки тавассути онҳо ҳамгироии cppcheck бо системаҳои гуногуни рушд, ҳамгироӣ ва системаҳои озмоишӣ, инчунин хусусиятҳо ба монанди тафтиши мувофиқати код бо услуби рамзгузорӣ таъмин карда мешаванд.

Барои таҳлили код, шумо метавонед ҳам таҳлилгари худ ва ҳам таҳлилгари берунии Clangро истифода баред. Он инчунин скрипти donate-cpu.py-ро дарбар мегирад, то захираҳои маҳаллиро барои кори муштараки баррасии код барои бастаҳои Debian таъмин намояд.

Рушди cppcheck ба муайян кардани мушкилоти марбут ба рафтори номуайян тамаркуз мекунад ва истифодаи конструксияҳое, ки аз нуқтаи назари амният хатарноканд.

Ҳадаф инчунин кам кардани мусбатҳои бардурӯғ аст. Дар байни мушкилоти муайяншуда: нишондиҳандаҳо ба объектҳои мавҷудбуда, тақсимот ба сифр, пуршавии бутунҳо, амалиётҳои нодурусти тағирёбии битҳо, табдили нодуруст, мушкилоти хотира, истифодаи нодурусти STL, рад кардани нишондиҳандаҳои сифр, истифодаи чекҳо пас аз дастрасии воқеӣ ба буфер, аз ҳад зиёд шудани ҳудуди буферӣ, бо истифода аз тағирёбандаҳои оғознашуда.

Хусусиятҳои асосии нави cppcheck 2.6

Дар ин версияи нави сe ба ядрои таҳлилгар чекҳои гуногун илова кардаандки дар байни онҳо тафтиши мавҷуд набудани эъломияи бозгашт дар бадани функсия, инчунин сабти такрори маълумот, таърифҳои номуайяншудаи рафтор ва инчунин тафтиши арзиши муқоисашаванда аз доираи намояндагӣ фарқ мекунад арзиши навъи.

Навовари дигаре, ки ба назар мерасад, ин аст оптимизатсияи нусха барои баргардонидани std :: move (маҳаллӣ) татбиқ намегардад;, илова бар ин, барои намоиши паёмҳои ташхисӣ бо рангҳои гуногун барои платформаҳои Unix ва барчаспи китобхона илова карда шуд акнун метавонад тегро дар бар гирад барои нишондиҳандаҳои интеллектуалӣ, ки моликияти беназир доранд. Ҳоло ба ин намуди ишораҳои интеллектуалӣ огоҳии пайвандҳои овезон дода мешавад.

Ҳамчунин, Назорати Misra C 2012 пурра амалӣ карда шудааст, аз ҷумла Тағйироти 1 ва Тағйироти 2, ба истиснои қоидаҳои 1.1, 1.2 ва 17.3. Компилятор бояд санҷишҳои 1.1 ва 1.2 -ро иҷро кунад. Компилятор ба монанди GCC метавонад 17.3 -ро тафтиш кунад.

Аз дигаргуниҳое, ки барҷастаанд аз ин версияи нав:

  • Файл наметавонад дар як вақт барои хондан ва навиштан дар ҷараёнҳои гуногун кушода шавад;
  • Таҳлили рамзӣ барои ValueFlow илова карда шуд. Ҳангоми ҳисоб кардани фарқи байни ду тағирёбандаи номаълум дельтаи оддӣ истифода мешавад;
  • Қоидаҳое, ки барои рӯйхати аломатҳои "муайян кардан" истифода мешаванд, метавонанд ба #include мувофиқат кунанд;
  • Теги китобхона акнун метавонад тегро дар бар гирад ва ба ин васила вазифаҳои ройгон, ки метавонанд контейнерҳоро ба мисли std :: size, std :: empty, std :: begin, std :: end ва ғайра қабул кунанд. шумо метавонед зарф ё амалро барои контейнерҳо муайян кунед;
  • Мушкилот бо коркарди параметри –cppcheck-build-dir;
    htmlreport акнун метавонад маълумотро дар бораи муаллиф чоп кунад (бо истифода аз git айып);
  • Додани васеи огоҳиҳо дар бораи тағирёбандаҳое, ки доимӣ нестанд, аммо метавонанд доимӣ шаванд;
  • Хатогиҳои ҷамъшудаи анализатор ва камбудиҳо ислоҳ карда шуданд.

Ниҳоят, агар шумо хоҳед, ки дар бораи ин версияи нав маълумоти бештар гиред, шумо метавонед машварат кунед тафсилот дар истиноди зерин.

Чӣ тавр cppcheck -ро дар Linux насб кардан мумкин аст?

Барои онҳое, ки мехоҳанд қобилияти насб кардани cppcheck дар тақсимоти Linux -и худро дошта бошанд, онҳо метавонанд дастурҳои дар зер мубодилашударо иҷро кунанд.

Агар шумо корбари Debian бошед ё ягон тақсимоти дигар, ки аз он ба монанди Deepin ё Ubuntu бармеояд, шумо метавонед бевосита аз терминал бо навиштани фармони зерин насб кунед:

sudo apt-get install cppcheck

Ҳоло барои онҳое, ки корбарони Fedora ва ҳосилаҳои он ҳастанд, онҳо метавонанд насбкуниро бо навиштани фармони зерин иҷро кунанд:

sudo yum instalar cppcheck

Ё барои онҳое, ки корбарони Arch Linux ё дигар ҳосилаҳои он мебошанд, онҳо метавонанд бо фармони зерин насб кунанд:

sudo pacman -S cppcheck


Мазмуни мақола ба принсипҳои мо риоя мекунад ахлоқи таҳрирӣ. Барои гузориш додани хато клик кунед ин ҷо.

Аваллин эзоҳро диҳед

Назари худро бинависед

Суроғаи почтаи электронии шумо нест, нашр карда мешавад. Майдонҳои талаб карда мешавад, бо ишора *

*

*

  1. Масъул барои маълумот: Мигел Анхел Гатан
  2. Мақсади маълумот: Назорати СПАМ, идоракунии шарҳҳо.
  3. Қонунӣ: Розигии шумо
  4. Иртиботи маълумот: Маълумот ба шахсони сеюм расонида намешавад, ба истиснои ӯҳдадориҳои қонунӣ.
  5. Нигоҳдории маълумот: Пойгоҳи додаҳо аз ҷониби Occentus Networks (ИА) ҷойгир карда шудааст
  6. Ҳуқуқҳо: Ҳар лаҳза шумо метавонед маълумоти худро маҳдуд, барқарор ва нест кунед.