Cppcheck is een statische analysetool voor C/C++-code
Enkele dagen geleden werd de release van de nieuwe versie van Cppcheck 2.11 aangekondigd, waarin diverse algemene verbeteringen zijn doorgevoerd, waaronder verbeteringen aan de gebruikersinterface en de toevoeging van nieuwe opties en parameters.
Voor wie Cppcheck niet kent: het is een handig hulpmiddel voor ontwikkelaars van C/C++-applicaties. Met deze suite van tools kun je je programma eenvoudig controleren op inconsistenties, bufferoverloopfouten en andere problemen.
Met Cppcheck kunt u snel naar het gewenste stuk code gaan en het bewerken, hiervoor hoeft u er alleen maar op te dubbelklikken, waarna het wordt geopend met Kladblok. Als u Kladblok niet gebruikt, kunt u een toepassing configureren open hiervoor de code.
Om de code te analyseren, kunt u de ingebouwde analyzer gebruiken of een externe analyzer van Clang . Het pakket bevat ook een script dat lokale resources biedt voor gezamenlijke codebeoordeling van Debian-pakketten.
Belangrijkste nieuwe functies van cppcheck 2.11
Deze nieuwe versie van cppcheck 2.11 bevat verbeteringen aan de commandoregelinterface , waaronder de toevoeging van een nieuwe optie, "--check-level", waarmee het detailniveau van de controles kan worden bepaald. De standaardwaarde is "normal". Voor grondigere controles kunt u de waarde instellen op "exhaustive".
Een andere opvallende verandering is de verbeterde controle over ingestelde waarden voor sommige opdrachtregelopties die integerwaarden vereisen. Het is niet langer nodig om "--check-config" uit te voeren om gedetailleerde berichten van "missingInclude" en "missingIncludeSystem" te ontvangen, aangezien deze altijd tijdens de reguliere scan worden weergegeven als " missingInclude " is ingeschakeld.
Bovendien zijn .cppcheck-bestanden nu verouderd en zullen ze in versie 2.14 worden verwijderd ten gunste van ondersteuning voor het platformtype "Niet gespecificeerd". Het wordt daarom aanbevolen om in plaats daarvan "Niet gespecificeerd" te gebruiken. De optie om relatieve paden te vervangen door absolute paden in het dialoogvenster voor projectbestandsselectie is verwijderd.
Er wordt ook opgemerkt dat de pop_back()-verificatie is toegevoegd voor lege containers , evenals verbeterde controles in lussen voor de STL-bibliotheekalgoritmen any_of, all_of en none_of en verbeteringen aan de controlestroomanalysator.
Verder wordt vermeld dat de retourwaarde van een functie nu zelfs bij gebruik van voorwaarden kan worden bepaald, en dat de constParameter- en constVariable -controles elk zijn opgesplitst in 3 identificatoren, afhankelijk van of de parameter of variabele een pointer, een referentie of een lokale variabele is, om een ​​nauwkeurigere onderdrukking van bepaalde soorten berichten mogelijk te maken.
Andere opvallende wijzigingen in deze nieuwe versie zijn onder meer:
- Herdefiniëren van de afmetingen van de containers die door de functie worden geretourneerd;
- Leid mogelijke betekenissen af ​​uit hun mogelijke symbolische betekenissen;
- Verbeterd na het plaatsen van de waarde in de container.
- De berichten "missingInclude" en "missingIncludeSystem" gebruiken nu de optie "–error-exitcode";
- Bij het scannen van een project met de optie "-j1", wordt de verwerking van de opmaakbestanden uitgesteld totdat de codebestanden zijn verwerkt.
Als u tot slot meer wilt weten over deze nieuwe versie, kunt u de details vinden via de volgende link.
Hoe installeer ik cppcheck op Linux?
Voor degenen die geïnteresseerd zijn om cppcheck op hun Linux-distributie te kunnen installeren, kunnen ze de instructies volgen die we hieronder delen.
Als je een Debian-gebruiker bent of een gebruiker van een andere distributie die daarop gebaseerd is of ervan is afgeleid, zoals Deepin of Ubuntu, kun je de installatie rechtstreeks vanuit de terminal uitvoeren door het volgende commando in te typen:
sudo apt-get install cppcheck
Gebruikers van Fedora en afgeleide distributies kunnen de installatie uitvoeren door het volgende commando in te typen:
sudo yum instalar cppcheck
Of, voor gebruikers van Arch Linux of een andere afgeleide daarvan , kunt u het installeren met het volgende commando:
sudo pacman -S cppcheck