0
我不知道爲什麼靜態代碼分析工具Coverity的標誌:爲什麼保險標誌會爲此發出警告?
CID 40172 (#1 of 1): Parse warning (PW.INCOMPATIBLE_PARAM)
1. incompatible_param: argument of type "volatile mpls_RuntimeInfo_t *" is incompatible with parameter of type "void *"
這條線:
memset(&SW_RuntimeInfo[idx],0,sizeof(mpls_RuntimeInfo_t));
時SW_RuntimeInfo
聲明爲在全球範圍內volatile static mpls_RuntimeInfo_t SW_RuntimeInfo[LABEL_T_CNT] = { 0 };
。
它爲什麼會升起國旗&我該如何解決這個問題?
從來沒有'memcpy''揮發性'合格的對象! 'memcpy'不保證任何訪問順序。問題是**爲什麼**你會使用'volatile'。它似乎不是一個硬件寄存器,所以它很可能是錯誤的! ('volatile'不適用於線程間通信。) – Olaf