Определяет ли Klocworks никогда не называется функциями?

StackOverflow https://stackoverflow.com/questions/3446848

  •  27-09-2019
  •  | 
  •  

Вопрос

Мой код - это смесь разных битов и кусочков от более старого кода.

Я хотел бы стереть все никогда не использованные функции, чтобы держать код простой.

Klocworks инструмент? Как мне это сделать?

Спасибо,

Моше.

Это было полезно?

Решение

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

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

Другие советы

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

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

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

Вы можете проверить это так:

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

main()
{
   bar();
}

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top