Muokataan sivua Cppcheck
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 1: | Rivi 1: | ||
{{Ohjelma | {{ Ohjelma | nimi=Cppcheck | kuva= | kuvateksti= | lisenssi=[[GPL]]| käyttöliittymä=teksti | kotisivu=[http://cppcheck.wiki.sourceforge.net/] }} | ||
| nimi=Cppcheck | Cppcheck on ohjelmointityökalu, millä voi etsiä virheitä C ja C++ ohjelmien lähdekoodista staattisesti. Yleisimmät virheet mitä Cppcheck löytää ovat yhden funktion sisällä tapahtuvat muistivuodot, mutta sillä voi etsiä myös monia muita tyypillisiä virheitä. | ||
| kuva= | |||
| kuvateksti= | |||
| lisenssi=[[GPL]] | |||
| käyttöliittymä=teksti | |||
| kotisivu=[http://cppcheck.sourceforge.net/ | |||
}} | |||
Cppcheck on löytänyt 20 varmistettua ja korjattua bugia Linuxin kernelistä ja monia muita muista tunnetuista avoimen lähdekoodin projekteista. | |||
Cppcheck on | Cppcheck on avoimen lähdekoodin projekti ja se on GPL lisenssin alainen. Se on kirjoitettu C++:lla ja sen sivuja ylläpitää Sourceforge.net. | ||
== Käyttö == | == Käyttö == | ||
cppcheck tarkistettava_hakemisto/ | cppcheck tarkistettava_hakemisto/ | ||
Tämän jälkeen tulostuu tilannetietoa siitä mitä tiedostoa tarkistetaan ja väliin tulostuu virheitä jos niitä löytyy. | Tämän jälkeen tulostuu tilannetietoa siitä mitä tiedostoa tarkistetaan ja väliin tulostuu virheitä jos niitä löytyy. | ||
== Esimerkki == | == Esimerkki == | ||
<source lang="c"> | |||
#include <stdlib.h> | |||
< | int main() | ||
{ | { | ||
int *a; | |||
char b[2]; | |||
a = malloc(100); | |||
b[4] = 0; | |||
return 0; | |||
} | } | ||
</ | </source> | ||
Cppcheck:n tulostus: | Cppcheck:n tulostus: | ||
<pre><nowiki> | <pre><nowiki> | ||
$ ./cppcheck a.c | $ ./cppcheck a.c | ||
Checking a.c... | |||
Checking | [a.c:8]: Memory leak: a | ||
[ | [a.c:7]: Array index out of bounds | ||
[ | |||
</nowiki></pre> | </nowiki></pre> | ||
Korjattu lähdekoodi: | Korjattu lähdekoodi: | ||
< | <source lang="c"> | ||
#include <stdlib.h> | |||
int main() | |||
{ | { | ||
int *a; | |||
char b[5]; | |||
a = malloc(100); | |||
b[4] = 0; | |||
free( a ); | |||
return 0; | |||
} | } | ||
</ | </source> | ||
== Aiheesta muualla == | == Aiheesta muualla == | ||
Rivi 68: | Rivi 52: | ||
*[https://sourceforge.net/projects/cppcheck Projektisivu] | *[https://sourceforge.net/projects/cppcheck Projektisivu] | ||
*[http://en.wikipedia.org/wiki/Cppcheck Englanninkielinen Wikipedia-sivu] | *[http://en.wikipedia.org/wiki/Cppcheck Englanninkielinen Wikipedia-sivu] | ||
== Katso myös == | == Katso myös == | ||
*[[Valgrind]] | *[[Valgrind]] | ||
[[Luokka:Kehitystyökalut]] | [[Luokka:Kehitystyökalut]] |