[問題] cppcheck

作者: jba (簡簡單單的幸福)   2015-12-20 23:07:03
開發平台(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呢?
作者: CaptainH (Cannon)   2015-12-20 23:18:00
編譯器沒有報錯嗎?
作者: jba (簡簡單單的幸福)   2015-12-21 19:12:00
編譯器不會報錯。
作者: LPH66 (-6.2598534e+18f)   2015-12-21 19:44:00
方便把出問題的所有檔案放上來嗎?因為可能跟其他地方有關
作者: jba (簡簡單單的幸福)   2015-12-22 09:19:00
這是工作相關的程式碼,不方便將檔案放上來,目前是發現某個.c檔include某個.h檔,而這個.h檔又include許多個.h檔造成的暫時的解法是執行cppcheck時,先將include這個.h檔mark掉。
作者: LPH66 (-6.2598534e+18f)   2015-12-23 01:18:00
沒有原始碼看只能拿出水晶球來猜...從 cppcheck 的訊息看起來, 是否你有什麼 macro 符號是一定會在指令列上定義,不定義就會錯的?
作者: jba (簡簡單單的幸福)   2015-12-23 21:58:00
感謝L大提點,我再研究看看。

Links booklink

Contact Us: admin [ a t ] ucptt.com