Я делаю рефакторинг в проекте с использованием Qt с Visual Studio 2008, и я хотел бы знать, есть ли простой способ найти функции и методы, которые никогда не называются?Найти никогда не называемые функции
ответ
Вы можете попробовать инструмент статического анализа кода, как http://en.wikipedia.org/wiki/Cppcheck
A -Wall в ваших вариантах компиляции должен это делать. (Или функция -Унимая функция). Проверьте параметры компилятора в VS.
Есть ли шанс построить это с помощью GCC Qt Project? Если это так, вы можете использовать gcov. Он сообщает вам все методы, которые были вызваны во время выполнения. Затем вы можете использовать ctags для создания списка всех доступных методов. Из этих двух наборов вы могли бы найти те, которые не были вызваны.
Причина, по которой приложение должно работать достаточно долго под gcov для предоставления более или менее полного списка используемых функций.
(я предполагаю, что есть простой способ с помощью линкера или компилятор коммутаторе. :-))
Я всегда предпочитал «Grep», но это может быть немного «старой школы».
Visual Studio построит для вас графу вызовов, которая полезна, но не на 100% надежна.
Другая альтернатива - прокомментировать функцию и посмотреть, будет ли проект по-прежнему связываться.
Это нормально, чтобы проверить только одну функцию, а не все. – gregseth
- 1. Определяет ли Klocwork никогда не называемые функции?
- 2. Функции делегата, не называемые
- 3. Почему не вложенные функции python, называемые замыканиями?
- 4. Функции проверки углового-волшебника, не называемые
- 5. отладки называемые функции в MATLAB
- 6. методы pyinotify, не называемые
- 7. Когда функции Java «подразумевают» функции, называемые?
- 8. называемые PHP функции из пространства имен
- 9. iOS dispatch_async и функции делегата NSURLConnection, не называемые
- 10. Простая изолированная область Функция Параметры, не называемые
- 11. reloadData не работает (называемые в делегатом)
- 12. Делегаты из области локализации, не называемые
- 13. Swift: rootViewController никогда не имеет своего представления [Will/Did] Disappear методы, называемые
- 14. async.waterfall никогда не выполняет второй функции
- 15. Обратный вызов асинхронной функции никогда не называется
- 16. Почему вызов функции никогда не выполняется?
- 17. вызов функции «Inline»: функция никогда не попадает
- 18. contactPickerDidCancel и contactPicker Функции никогда не называются
- 19. $ .ajax функции StatusCode никогда не принимать параметры
- 20. Результат целочисленной функции - «Значение, присвоенное« [имя функции] »никогда не используется»
- 21. Ruby - вызовы, называемые символьными переменными
- 22. ClearableEditText - requestLayout() неправильно называемые на Android 4.3
- 23. Найти избыточные функции пользователя
- 24. как называемые переменные в родительском классе
- 25. наблюдатель никогда не называл
- 26. onBackPressed никогда не называется
- 27. getWritableDatabase() никогда не называли
- 28. Угловое UI-маршрутизатор решает называемые дважды
- 29. Огурцы и переменные внутренние методы, называемые косвенно
- 30. Никогда не заканчивается Пока
Спасибо, я попробую. – gregseth
Имеет ли Cppcheck эту функцию? Я не могу найти его. – Benjamin
См. Раздел 2.5.2 руководства @ http://cppcheck.sourceforge.net/manual.pdf – munissor