2010-08-10 13 views

Répondre

2

Vous pouvez utiliser les -p ou -pg options gcc pour provoquer le code à ajouter au prologue et l'épilogue de toutes les fonctions de sorte qu'une base de données de profil est écrit lorsque le programme est exécuté. L'outil prof est utilisé pour analyser la sortie de -p et gprof pour - pg. Ces outils produisent des rapports montrant quelles fonctions ont été utilisées, combien d'appels et combien de temps a été passé dans chacune d'entre elles. Les fonctions inutilisées seront manquantes dans la base de données de profils.

Vous pouvez également utiliser gcov pour obtenir un rapport sur les lignes de code réellement exécutées. Les fonctions non appelées seront exécutées 0 fois ....

1

Je ne suis pas familier avec Klocwork, mais gcc a l'option d'avertissement -Wunused-function qui détecte la plupart des fonctions non appelées. -Wunused-function fait partie de -Wall.

0

Klockwork ne détecte pas les fonctions non appelées. Son utilisé pour l'analyse statique seulement.

Vous pouvez le vérifier comme ceci:

foo() 
{ 
    char *a; 
    a = malloc(100); 
} 
bar() 
{ 
    char a[100]; 
} 

main() 
{ 
    bar(); 
} 

Ce serait probablement un rapport de fuite dans la fonction foo qui est en fait non appelé. Cependant, comme l'a suggéré schot, vous pouvez regarder dans les options du compilateur.

2

Klocwork trouvera les fonctions/méthodes inutilisées. Il y a un pack de vérificateurs spécial que vous pouvez télécharger sur my.klocwork.com (si vous avez un compte) qui vous donnera ces vérificateurs spéciaux.

Questions connexes