Ero sivun ”Cppcheck” versioiden välillä
Siirry navigaatioon
Siirry hakuun
(Ak: Uusi sivu: {{ Ohjelma | nimi=Cppcheck | kuva= | kuvateksti= | lisenssi=GPL| käyttöliittymä=teksti | kotisivu=[http://cppcheck.wiki.sourceforge.net/] }} Cppcheck on ohjelmointityökalu, ...) |
p (kh) |
||
Rivi 1: | Rivi 1: | ||
{{ Ohjelma | nimi=Cppcheck | kuva= | kuvateksti= | lisenssi=[[GPL]]| käyttöliittymä=teksti | kotisivu=[http://cppcheck.wiki.sourceforge.net/] }} | {{ Ohjelma | nimi=Cppcheck | kuva= | kuvateksti= | lisenssi=[[GPL]]| käyttöliittymä=teksti | kotisivu=[http://cppcheck.wiki.sourceforge.net/] }} | ||
Cppcheck on ohjelmointityökalu, | Cppcheck on vapaa ohjelmointityökalu, jolla voi etsiä virheitä C- ja C++-ohjelmien lähdekoodista staattisesti. Yleisimmät Cppcheckin löytämät virheet ovat yhden funktion sisällä tapahtuvat muistivuodot, mutta sillä voi etsiä myös monia muita tyypillisiä virheitä. | ||
Cppcheck on löytänyt 20 varmistettua ja korjattua bugia Linuxin | Cppcheck on esimerkiksi löytänyt 20 varmistettua ja korjattua bugia Linuxin [[ydin|ytimestä]] ja monia muita muista tunnetuista avoimen lähdekoodin projekteista. | ||
== Käyttö == | == Käyttö == | ||
cppcheck tarkistettava_hakemisto/ | cppcheck tarkistettava_hakemisto/ | ||
tai | |||
cppcheck tarkistettava_tiedosto.cpp | |||
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 == | ||
Tutkitaan seuraavaa ohjelmaa Cppcheckillä: | |||
<source lang="c"> | <source lang="c"> | ||
#include <stdlib.h> | #include <stdlib.h> | ||
Rivi 45: | Rivi 46: | ||
return 0; | return 0; | ||
} | } | ||
</source> | </source> | ||
Versio 10. tammikuuta 2009 kello 19.12
Cppcheck | |
---|---|
Käyttöliittymä | teksti |
Lisenssi | GPL |
Kotisivu | [1] |
Cppcheck on vapaa ohjelmointityökalu, jolla voi etsiä virheitä C- ja C++-ohjelmien lähdekoodista staattisesti. Yleisimmät Cppcheckin löytämät virheet ovat yhden funktion sisällä tapahtuvat muistivuodot, mutta sillä voi etsiä myös monia muita tyypillisiä virheitä.
Cppcheck on esimerkiksi löytänyt 20 varmistettua ja korjattua bugia Linuxin ytimestä ja monia muita muista tunnetuista avoimen lähdekoodin projekteista.
Käyttö
cppcheck tarkistettava_hakemisto/
tai
cppcheck tarkistettava_tiedosto.cpp
Tämän jälkeen tulostuu tilannetietoa siitä mitä tiedostoa tarkistetaan ja väliin tulostuu virheitä jos niitä löytyy.
Esimerkki
Tutkitaan seuraavaa ohjelmaa Cppcheckillä:
#include <stdlib.h>
int main()
{
int *a;
char b[2];
a = malloc(100);
b[4] = 0;
return 0;
}
Cppcheck:n tulostus:
$ ./cppcheck a.c Checking a.c... [a.c:8]: Memory leak: a [a.c:7]: Array index out of bounds
Korjattu lähdekoodi:
#include <stdlib.h>
int main()
{
int *a;
char b[5];
a = malloc(100);
b[4] = 0;
free( a );
return 0;
}