Есть ли способ получить предупреждение о неиспользуемых функциях?

Я хотел бы найти неиспользуемые функции в кодовой базе - в том числе в разных единицах компиляции. Я использую GCC в качестве моего компилятора.

Вот пример:

foo.c (примите во вниманиеfoo.h):

void foo() {
   ....
}

void bar() {
   ....
}

main.c:

#include <stdio.h>
#include "foo.h"  

int main(void)  {
    bar();
    return 0;
}

В этом примере я хотел бы получить предупреждение оfoo() не используется.

Здесь-Wunused-function опция gcc:

-Wunused-function

Предупреждать всякий раз, когда статическая функция объявлена, но не определена, или не встроенная статическая функция не используется. Это предупреждение включено -Wall.

но это только для статических функций - это не выдаст предупреждение в примере выше.

Я также приму предложения инструментов / скриптов / других компиляторов, которые могут сделать это для меня - хотя я бы предпочел придерживатьсяgcc если возможно.

Ответы на вопрос(5)

Ваш ответ на вопрос