作者jba (簡簡單單的幸福)
看板C_and_CPP
標題[問題] cppcheck
時間Sun Dec 20 23:07:03 2015
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
cppcheck
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
使用cppcheck檢查程式碼
餵入的資料(Input):
目錄下的.c與.h檔
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
message: syntaxError
message id: Invalid number of character '{' when these macros are defined: ''.
程式碼(Code):(請善用置底文網頁, 記得排版)
#define CPU_STANDBY()\
{\
LD_OFF();\
RDLD_OFF();\ <= cppcheck指出這行有問題。
}
補充說明(Supplement):
目錄下的.h檔中,有許多macro,也許是macro的寫法讓cppcheck檢查出有問題,有什麼
辦法可以讓cppcheck跳過檢查macro呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.115.106.73
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1450624025.A.A73.html
1F:推 CaptainH: 編譯器沒有報錯嗎? 12/20 23:18
2F:→ jba: 編譯器不會報錯。 12/21 19:12
3F:推 LPH66: 方便把出問題的所有檔案放上來嗎?因為可能跟其他地方有關 12/21 19:44
4F:→ jba: 這是工作相關的程式碼,不方便將檔案放上來,目前是發現某個 12/22 09:19
5F:→ jba: .c檔include某個.h檔,而這個.h檔又include許多個.h檔造成的 12/22 09:21
6F:→ jba: 暫時的解法是執行cppcheck時,先將include這個.h檔mark掉。 12/22 09:22
7F:→ LPH66: 沒有原始碼看只能拿出水晶球來猜... 12/23 01:18
8F:→ LPH66: 從 cppcheck 的訊息看起來, 是否你有什麼 macro 符號是 12/23 01:18
9F:→ LPH66: 一定會在指令列上定義,不定義就會錯的? 12/23 01:18
10F:→ jba: 感謝L大提點,我再研究看看。 12/23 21:58