我正在做一些使用Qt與Visual Studio 2008的項目重構,我想知道是否有一種簡單的方法來查找從未調用的函數和方法?查找從來沒有調用的函數
5
A
回答
9
你可以嘗試一種靜態代碼分析工具,像http://en.wikipedia.org/wiki/Cppcheck
4
A -Wall在你的編譯選項中應該這樣做。 (或者--Wunused-function)。檢查VS中的編譯器選項。
1
是否有建立這個QT項目使用gcc的機會嗎?如果是這樣,你可以使用gcov。它會告訴你在執行過程中調用的所有方法。然後,您可以使用ctags創建所有可用方法的列表。從這兩組你可以找到那些,沒有被調用。
因爲應用程序應該在gcov下運行足夠長的時間以提供更多或更少的完整使用函數列表。
(我想有使用連接器或編譯器開關。:-)一個更簡單的方法),我一直喜歡的「grep」
2
,但可能是有點「老派」。
Visual Studio將爲您創建一個有用但不是100%可靠的調用圖。
另一種方法是註釋掉該函數並查看該項目是否仍會鏈接。
+0
可以只檢查一個功能,而不是全部。 – gregseth 2010-11-19 14:24:45
相關問題
- 1. 沒有匹配函數調用「查找」
- 2. 用戶函數從來沒有調用
- 3. 找出沒有被調用的函數
- 4. 如何查找函數,從來沒有所謂
- 5. 使用回調函數來查找bst中的值的總和(沒有全局)
- 6. 驗證回調從來沒有調用函數
- 7. 沒有匹配函數來調用到
- 8. 成功函數從來沒有在jQuery函數被調用從來沒有表現出
- 9. IE動態創建Iframe的onload函數從來沒有調用
- 10. 爲什麼我的析構函數從來沒有調用過?
- 11. Javascript查找調用函數
- 12. 有沒有PHP函數來查找中間字符串?
- 13. onKeyEntered從來沒有調用
- 14. JavaScript函數沒有從QWebFrame/QWebView調用
- 15. global.asax函數沒有從Application_Start調用
- 16. 從片段調用函數..沒有活動來處理錯誤
- 17. 有沒有辦法從其他函數調用函數?
- 18. 通過函數查找所有函數調用
- 19. 貓鼬查詢後,從來沒有所謂的回調函數執行
- 20. 函數沒有被調用
- 21. onYouTubeIframeAPIReady函數沒有調用
- 22. 函數沒有被調用
- 23. 有沒有簡單的方法來在elisp中調用函數?
- 24. 有沒有方法來decltype不可調用函數的結果?
- 25. webpage.open()從來沒有調用回調
- 26. 查找函數調用的起源
- 27. onlocationchanged函數從來沒有叫 - > PhoneGap
- 28. 從php代碼函數調用javascript函數沒有定義
- 29. jQuery:JSON回調函數從來沒有達到
- 30. changeEvent從來沒有用WindowStateChange調用
謝謝,我會試一試。 – gregseth 2010-11-19 14:23:23
Cppcheck有這個功能嗎?我找不到它。 – Benjamin 2012-01-30 12:24:13
請參閱手冊2.5.2節http://cppcheck.sourceforge.net/manual.pdf – munissor 2012-01-30 14:03:18