Неиспользуемые статические функции см. Эд Кинг * ответ .
Для глобальных функций вы можете попробовать это: Создайте проект дважды, один раз как обычно иодин раз с -ffunction-sections -Wl,--gc-sections
(первый - флаг компилятора, второй - флаг компоновщика).Затем вы можете запустить nm
в сгенерированных двоичных файлах, чтобы получить список символов для обоих запусков.Компоновщик удалит неиспользуемые функции во втором запуске, так что это ваш список мертвых функций.
Это предполагает общую цель, такую как ELF, компоновщик binutils, и что конечные двоичные файлы не лишены своего символатаблица.