Je suis intéressé par un outil gratuit qui peut vérifier statiquement mon C++ code comme le fait de la charpie. Des conseils ?
Réponses
Trop de publicités?Essayez cppcheck
, trouvé ici: http://cppcheck.wiki.sourceforge.net/
Voici un échantillon de quelques-unes de ces contrôles, il peut effectuer ou que je l'ai utilisé pour:
- Tableau des indices en dehors des limites
- Mémoire/ressources des fuites
- Une mauvaise nouvelle/supprimer
- Défaut de mettre les destructeurs virtuels sur les classes dérivées
- Désadaptation d'allocation et de désallocation
- Libérer un pointeur désalloué
- À l'aide de la variable après il est libéré / publié
- La taille de l'inadéquation
- Non valide radix en appel à l'
strtol
oustrtoul
- Le chevauchement des tampons de données
- Non signé de la division; le résultat peut être erroné
- Inhabituelle de l'arithmétique des pointeurs
- De retour pointeur de tableau de variables locales
- Même itérateur est utilisé avec deux récipients
- Dangereux l'utilisation de l'effacer
- Après le refoulement ou pushfront, itérateur peut être invalide
- Des dépassements de mémoire tampon
- Dangereux l'utilisation de
strncat
, possible dépassement de la mémoire tampon
Une liste comme c’est peut-être ce que vous recherchez :
http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis
On dirait que vous obtiendrez la plupart utilisent hors attelle ou Uno .
Un autre outil pour la liste : Google cpplint.py, style C++ de laquelle Google guide mentionne. Il est très spécifique à Google, mais tout de même.