Klocwork Detect nunca chamou funções?
Pergunta
Meu código é uma mistura de bits e peças diferentes do código mais antigo.
Eu gostaria de apagar todas as funções nunca usadas para manter o código simples.
Klocwork é a ferramenta? Como eu faço isso?
Obrigado,
Moshe.
Solução
Você poderia usar o -p
ou -pg
opções para gcc
Para fazer com que o código seja adicionado ao prólogo e ao epílogo de todas as funções, para que um banco de dados de perfil seja gravado quando o programa é executado. A ferramenta prof
é usado para analisar a saída de -p
e gprof
por -pg
. Essas ferramentas produzem relatórios mostrando quais funções foram usadas, quantas chamadas e quanto tempo foi gasto em cada um. Funções não utilizadas estarão ausentes no banco de dados de perfil.
Você também pode usar gcov
Para obter um relatório de quais linhas de código foram realmente executadas. As funções nunca chamadas serão executadas 0 vezes ....
Outras dicas
O KLOCWork encontrará função/métodos não utilizados. Existe um pacote de verificador especial que você pode baixar no my.klocwork.com (se você tiver uma conta) que lhe dará esses verificadores especiais.
Não estou familiarizado com o Klocwork, mas gcc
tem a opção de aviso -Wunused-function
Isso detecta as funções mais desnecessárias. -Wunused-function
é parte de -Wall
.
Klockwork não detecta funções desnecessárias. É usado apenas para análise estática.
Você pode verificar assim:
foo()
{
char *a;
a = malloc(100);
}
bar()
{
char a[100];
}
main()
{
bar();
}
Isso provavelmente relataria vazamento de função Foo, que é realmente desnecessário. No entanto, como Schot sugeriu, você pode procurar opções de compilador.