)
MISRA C:2012 詳解 · 專欄05:高級主題(第 19~22 章)覆蓋第 19~22 章共34 條規則:重疊存儲、預處理指令、標準庫、資源管理。這是 MISRA 的收尾篇,也是最「接地氣」的一篇——預處理宏的坑、標準庫的雷、資源的債,都是真實項目里流過的血。第 19 章 · 重疊存儲(Overlapping Storage)內存重疊是memcpy/結構體賦值里的「隱形殺手」。這一章兩條規則,第一條還是 Mandatory。Rule 19.1 對象不得被賦值或復制到與其重疊的對象等級:強制(Mandatory) |可判定:Undecidable |cppcheck:?? 需人工審查規則:不能把對象賦值/復制到與自身內存重疊的目標(重疊復制必須用memmove)。為什么:memcpy不保證重疊安全,重疊時結果是未定義的;而「重疊」往往由指針