2010-08-10 1 views

ответ

2

Вы можете использовать -p или -pg вариантов gcc вызвать код, который будет добавлен в пролог и эпилог каждой функции, так что база данных профиля записывается, когда программа выполняется. Инструмент prof используется для анализа выходных данных от -p и gprof для - pg. Эти инструменты предоставляют отчеты, показывающие, какие функции были использованы, сколько звонков и сколько времени было потрачено на каждого. Неиспользуемые функции будут отсутствовать в базе данных профиля.

Вы также можете использовать gcov, чтобы получить отчет о том, какие строки кода были фактически выполнены. Функции, которые никогда не вызываются, будут выполняться 0 раз ....

1

Я не знаком с Klocwork, но gcc имеет опцию предупреждения -Wunused-function, которая обнаруживает большинство невостребованных функций. -Wunused-function является частью -Wall.

0

Klockwork не обнаруживает невостребованные функции. Его используют только для статического анализа.

Вы можете проверить это следующим образом:

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

main() 
{ 
    bar(); 
} 

Это, вероятно, сообщить утечку в функции Foo, которая на самом деле невостребованными. Однако в качестве приглашенных вы можете ознакомиться с параметрами компилятора.

2

Klocwork найдет неиспользованную функцию/методы. Существует специальный чек-пакет, который вы можете скачать на my.klocwork.com (если у вас есть аккаунт), который даст вам эти специальные шашки.