Ослобађање верзија статичког анализатора кода цппцхецк 2.6Да омогућава откривање различитих врста грешака у Ц и Ц ++ кодучак и када се користи нестандардна синтакса типична за уграђене системе.
Омогућена је збирка додатака помоћу којих се обезбеђује интеграција цппцхецк -а са различитим развојним, континуираним интеграционим и тестним системима, као и функције као што је провера усклађености кода са стилом кодирања.
Да бисте анализирали код, можете користити и свој парсер и спољни Цланг парсер. Такође укључује скрипту донате-цпу.пи која обезбеђује локалне ресурсе за заједнички рад на прегледу кода за Дебиан пакете.
Развој цппцхецк -а фокусира се на идентификовање проблема повезаних са недефинисаним понашањем и употреба конструката који су опасни са безбедносне тачке гледишта.
Циљ је и минимизирање лажно позитивних резултата. Међу идентификованим проблемима: показивачи на непостојеће објекте, дељење са нулом, преливање целих бројева, нетачне операције померања битова, нетачне конверзије, проблеми са меморијом, нетачна употреба СТЛ-а, дереференцирање нултих показивача, примена провера након приступа реалном у бафер, прекорачење ограничења бафера, коришћењем неиницијализованих променљивих.
Главне нове функције цппцхецк 2.6
У овој новој верзији се додали смо различите провере у језгро рашчлањивача, међу којима се издваја верификација одсуства повратне наредбе у телу функције, као и она која се преклапају записи података, недефинисане дефиниције понашања, као и верификација вредности која се упоређује ван опсега репрезентације вредности типа.
Још једна новина која се истиче је оптимизација копије не важи за враћање стд :: мове (локално);, плус је додата подршка за приказивање дијагностичких порука у различитим бојама за Уник платформе и та ознака библиотеке сада може да садржи ознаку за паметне показиваче који имају јединствено својство. Упозорење о збуњујућој вези сада се издаје овим врстама паметних показивача.
Поред тога, Контроле Мисра Ц 2012 су у потпуности спроведене, укључујући Амандман 1 и Амандман 2, осим правила 1.1, 1.2 и 17.3. Преводилац треба да изврши провере 1.1 и 1.2. Преводилац попут ГЦЦ -а може проверити 17.3.
Од осталих промена које се истичу ове нове верзије:
- Датотека се не може отворити истовремено за читање и писање у различитим токовима;
- Додата симболична анализа за ВалуеФлов. Једноставна делта се користи при израчунавању разлике између две непознате променљиве;
- Правила која се користе за листу жетона "дефине" такође се могу подударати са #инцлуде;
- Ознака библиотеке сада може да садржи ознаку а тиме и бесплатне функције које могу прихватити контејнере попут стд :: сизе, стд :: емпти, стд :: бегин, стд :: енд итд. можете навести викање или радњу за контејнере;
- Решени проблеми са руковањем параметром –цппцхецк-буилд-дир;
хтмлрепорт сада може да штампа информације о аутору (користећи гит криви); - Проширено издавање упозорења о варијаблама које нису константне, али могу постати константне;
- Акумулиране грешке и недостаци анализатора су поправљени.
Коначно, ако сте заинтересовани да сазнате више о овој новој верзији, можете се консултовати детаље у следећем линку.
Како инсталирати цппцхецк на Линук?
За оне који су заинтересовани да могу инсталирати цппцхецк на своју дистрибуцију Линука, могу следити упутства која делимо у наставку.
Ако сте корисник Дебиана или било које друге дистрибуције засноване или изведене из ње, као што су Деепин или Убунту, можете инсталирати директно са терминала уписивањем следеће наредбе:
sudo apt-get install cppcheck
Сада они који су корисници Федоре и њени деривати, могу извршити инсталацију уписивањем следеће наредбе:
sudo yum instalar cppcheck
Или за оне који су корисници Арцх Линука или било којег другог деривата, могу инсталирати помоћу следеће команде:
sudo pacman -S cppcheck