TEST RUN
Cppcheck 1.53
Ognjen POPOVIĆ
1. april 2012.

Spisak grešaka i ispravka jedne od njih pozivanjem eksternog editora
U toku razvoja programa putem nekog od programskih jezika neminovna je pojava grešaka, čak i kod iskusnih programera. Iako danas sva poznatija razvojna okruženja (IDE) poseduju zavidne algoritme kojima detektuju greške u kodu, i to u realnom vremenu, specijalizovane alatke mogu da uštede mnogo muke i vremena otkrivajući probleme koji su ostali neprimećeni. S druge strane, iako, na primer, Visual Studio ima ugrađen statički analizator koda, mnogi timovi biraju jeftinija ili besplatna razvojna okruženja, pa je za njih ova vrsta pomoći još dragocenija (iako i besplatna rešenja sasvim dobro otkrivaju greške). Cppcheck je alat za statičku proveru koda napisanog u programskim jezicima C i C++, dok svakako postoje i slične alatke za druge jezike.

Otkrivanje grešaka u kodu

Statička provera koda je ona koje se vrši pre pokretanja programa. Obično se primenjuje na izvorne fajlove i uglavnom se svodi na prikazivanje grešaka u kodu (tzv. linteri), mada postoje i oni koji idu tako daleko da matematički dokazuju osobine datog koda. Cppcheck spada u lakšu kategoriju, što je i više nego dovoljno za većinu korisnika.

Program dolazi sa funkcionalnim grafičkim intefejsom, bez ikakvih potreba za podešavanjem projekata, pathova ili nekih drugih opcija, pa je idelan za sve one koji se prvi put susreću sa ovom vrstom provere. Sve što je potrebno jeste da ukažete na folder ili pojedinačni izvorni fajl koji želite da program pregleda i dobićete spisak pronađenih upozorenja, sa detaljnijim objašnjenjem u vidu tekstualne poruke u donjem panelu kada kliknete na upozorenje. Brzina analize zavisi od broja i složenosti fajlova, ali ako vaš kôd nije rogobatan, proces će se brzo završiti. Pored samostalne aplikacije, Cppcheck se može u vidu plug-ina nadovezati na Eclipse, Hudson, Jenkins, Yascu, dolazi integrisan sa CodeBlocksom i CodeLiteom, a kao eksterna alatka može se dodati i u Visual Studio.

Analizom našeg koda, koji je bio namenjen nešto ozbiljnijem projektu, pronašli smo nekoliko grešaka koje smo uz sugestiju analize odmah izmenili. Greške su, kao što to često biva, na prvi pogled sitne, ali zato i teško uočljive i mogu oduzeti dosta vremena pri debagovanju i traženju uzroka nepredviđenog rada programa. Između ostalih, primili smo poruku o memory leak problemu, o tome da nismo inicijalizovali vrednost promenljive (pa možemo dobiti nepredvidljive rezultate pri uslovnoj proveri), sugestiju da smanjimo doseg promenljive, odnosno da je možemo ubaciti unutar petlje, ali i primedbu o korišćenju ++ operatora kao prefiksa sa iteratorom standardnog šablona. Uočene greške mogu se lako ispraviti direktnim pozivanjem eksternog editora. Za naše potrebe idealan je bio Notepad++, koji se brzo pokreće, bez potrebe za čekanjem na učitavanje nekog glomaznog IDE-a.

Cppcheck ne proverava sintaksu koda, već samo greške koje kompajler obično previdi. Cilj ovog programa je i da prikaže što manje lažnih uzbuna, što opet znači da se može desiti da i on sam preskoči neku od grešaka. Spisak svih situacija i grešaka koje su pod njegovim nadzorom možete naći na wiki stranici programa i on spisak nije mali. Kako je vrlo jednostavan za upotrebu, preporučujemo ga svakome ko se vinuo iznad početničkog praga u programiranju, kao i onima koji se prvi put susreću sa ovom vrstom alata. I dalje je vrlo bitno kôd pregledati samostalno i, naravno, na kraju izvršiti testiranje, odnosno dinamičku analizu koda. Dinamička provera obuhvata otkrivanje grešaka kada je program u fazi izvršavanja i uvek se koristi kao dopuna statičkom analiziranju grešaka, ali to je tema za neku drugu priliku. Mnogi ionako nisu toliko ažurni pri pisanju koda.


Potrebno:
Windows
Veličina:
9,31 MB, 16,3 MB na HD-u
Cena:
program je besplatan
Adresa:
cppcheck .sourceforge .net
PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
MAJ 2025
Microsoft Majorana 1
Kvantna topologija
Topološki kvantni računar otporan je na uticaj kosmičkog zračenja, ali i dalje mora da se ohladi skoro do apsolutne nule...
AMD Ryzen 9 9950X3D
Jedan, da svima vlada
Ako vam je potreban najbrži procesor, i za igranje, i za ozbiljnije zadatke, Ryzen 9 9950X3D nema konkurenciju...
Gigabyte GeForce RTX 5070 Ti Aero OC 16G i GeForce RTX 5070 Ti Gaming OC 16G
I za kreativce, i za igrače
Sasvim sposoban da se nosi sa 4K rezolucijom u svim igrama i pruži sasvim pristojne performanse, dok u 1440p apsolutno blista...
Asus ROG Strix Scar 18 (G835LX)
Fantastična zver i kako je kupiti (3)
Laptop namenjen onima koji „ne žale pare” da imaju ono što je trenutno najbolje i najbrže...
Deset najboljih Microsoft PowerToys alatki
Najbolji od najboljih
PowerToys Run je alatka kojoj treba da se okrenete ukoliko vam sistemska rutina za pretragu ne odgovara...
Apple iPhone 16e
Malo muzike za mnogo para
Problem nije samo cena i slabiji grafički podsistem, već i trajanje baterije...
Cemu 2.6
Wii U emulacija
Cemu omogućava pokretanje i privođenje kraju oko 57 procenata igara „napisanih” za Wii U...
.rs: nove usluge eUprave - novi propisi - najava 5G
Mnogo eNoviteta
U novom esDnevniku roditelji će dobijati notifikacije za ocene i izostanke...
Trgovinski rat Istoka i Zapada
Velika igra, nesagledive posledice
Kao u igri „kukavice”, dve supersile kreću se velikom brzinom jedna prema drugoj, izazivajući drugu da prva skrene...
Blue Prince
Jedinstveni dijamant i jedna od najoriginalnijih igara u poslednjih nekoliko godina...
Tempest Rising
Skupa i ambiciozna fotokopija legendarnog RTS klasika Command & Conquer...
South of Midnight
Magična igra koja izgleda kao živa bajka, animirana u stilu filmskog serijala „Spiderverse”...
© 2025 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama