Robię pewne refaktoryzacji w projekcie przy użyciu Qt z Visual Studio 2008, i chciałbym wiedzieć, czy istnieje prosty sposób na znalezienie funkcji i metod, które nigdy nie są wywoływane?Znajdź nieznane funkcje
Odpowiedz
Można wypróbować narzędzie do analizy statycznej kodu, jak http://en.wikipedia.org/wiki/Cppcheck
A -Wszystkie opcje kompilacji powinny to zrobić. (Lub funkcja -Wunused). Sprawdź opcje kompilatora w VS.
Czy jest szansa, aby zbudować ten projekt za pomocą Qt gcc? Jeśli tak, możesz użyć gcov. Zawiera wszystkie metody, które zostały wywołane podczas wykonywania. Następnie możesz użyć ctags, aby utworzyć listę wszystkich dostępnych metod. Z tych dwóch zestawów można je znaleźć, a nie nazywać.
Przyczyna, że aplikacja powinna działać wystarczająco długo w ramach gcov, aby dostarczyć mniej lub bardziej kompletną listę używanych funkcji.
(chyba tam jest prostszy sposób za pomocą łącznika lub kompilator przełącznika. :-))
Zawsze wolałam „grep”, ale może być nieco „old-school”.
Visual Studio zbuduje dla ciebie wykres wywoławczy, który jest pomocny, ale nie w 100% niezawodny.
Inna alternatywa to komentarz do funkcji i zobacz, czy projekt będzie nadal linkowany.
To wystarczy, aby sprawdzić tylko jedną funkcję, nie wszystkie. – gregseth
- 1. znajdź ważne funkcje do klasyfikacji
- 2. Znajdź wszystkie udekorowane funkcje w module
- 3. "Zapytanie nieznane nieznane" dla kwerendy o nazwie Hibernate?
- 4. # 1273 - Nieznane sortowanie: 'utf8mb4_unicode_520_ci'
- 5. nieznane klasa nazwa typu
- 6. błąd dostawca nieznane regulatora
- 7. Google Analytics - śledzenie nieznane
- 8. Nieznane polecenie CUpewnij „ExternalProject_Add”
- 9. Siege nieznane reakcje
- 10. nieznane Software Wyjątek 0xe0434352
- 11. Znajdź nieużywane zmienne i funkcje w projekcie MATLAB-Simulink
- 12. nieznane pole w literałach strukturalnych
- 13. urządzenia montującego nieznane w Tensorboard
- 14. nieznane $ rootElementProvider: Qunit + angularjs integracja
- 15. iconv formacie Unicode nieznane wejście
- 16. nieznane provider: $ rootscopeProvider <- $ rootscope
- 17. nieznane klucz w związku Rails
- 18. nieznane stół w MULTI DELETE
- 19. Django: Błąd pola Nieznane pola
- 20. embedFonts narzeka „Nieznane urządzenie: pswrite”
- 21. PHP Warning: nagłówki już wysłane w nieznane
- 22. Wyjątek NullPointerException w FirebaseMessagingService.zzo (nieznane źródło)
- 23. kątowa Test jednostki nieznane provider: $ scopeProvider
- 24. Obsługa Nieznane działanie w Railsach 3
- 25. nieznane dostawcą dla niestandardowych filtrów jonowych/angularjs
- 26. Błąd interwencji/przesyłania obrazu {{Nieznane źródło obrazu}}
- 27. Nieznane odwołanie do metody Java 8
- 28. Deserializuj losowe/nieznane typy za pomocą XmlSerializer
- 29. Scala: funkcje normalne a funkcje korkowane?
- 30. Delphi 2010 Szerokie funkcje a funkcje ciągów
Dzięki temu spróbuję. – gregseth
Czy Cppcheck ma tę funkcję? Nie mogę tego znaleźć. – Benjamin
Patrz rozdział 2.5.2 instrukcji @ http://cppcheck.sourceforge.net/manual.pdf – munissor