[問題] 有語意檢查工具,以預防缺陷嗎

看板C_and_CPP作者 (燒)時間13年前 (2012/03/25 04:24), 編輯推噓1(109)
留言10則, 6人參與, 最新討論串1/1
今天找了個效能上的bug ,搞了半天是 : : if(NULL == pFunPtr); pFunPtr = SlowerButGenericFun; (if下面那行一定運行,所以一直用到較慢的函數) VC沒有warning... GCC沒試 猜該也不會有warning 那請問類似這種錯誤 有什麼工具可以幫忙分析的呢? 謝謝 (靜態分析工具?) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 182.235.79.253

03/25 07:26, , 1F
wikipedia: List of tools for static code analysis
03/25 07:26, 1F

03/25 07:28, , 2F
cppcheck 這種寫法是 PASS。商業軟體大概可以自訂規則吧
03/25 07:28, 2F

03/25 10:52, , 3F
compiler怎麼會知道你是要怎樣子作?
03/25 10:52, 3F

03/25 11:37, , 4F
VC的waring level調4以上
03/25 11:37, 4F

03/25 11:44, , 5F
GCC 跟 VC 都會對 empty if statement 警告, 只是你自己
03/25 11:44, 5F

03/25 11:44, , 6F
警告層級要開夠...
03/25 11:44, 6F

03/25 14:14, , 7F
一開始就是開到4級,還是沒有景告
03/25 14:14, 7F

03/25 14:15, , 8F
我是用VC8 (VS2005)
03/25 14:15, 8F

03/26 22:27, , 9F
cppcheck可以自訂rule的樣子
03/26 22:27, 9F

03/26 22:27, , 10F
原po可以試試
03/26 22:27, 10F
文章代碼(AID): #1FRYrvSG (C_and_CPP)