尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

MISRA C:2012 详解 · 专栏05:高级主题(第 19~22 章)

MISRA C:2012 详解 · 专栏05:高级主题(第 19~22 章) MISRA C:2012 详解 · 专栏05:高级主题(第 19~22 章)覆盖第 19~22 章共34 条规则:重叠存储、预处理指令、标准库、资源管理。这是 MISRA 的收尾篇,也是最「接地气」的一篇——预处理宏的坑、标准库的雷、资源的债,都是真实项目里流过的血。第 19 章 · 重叠存储(Overlapping Storage)内存重叠是memcpy/结构体赋值里的「隐形杀手」。这一章两条规则,第一条还是 Mandatory。Rule 19.1 对象不得被赋值或复制到与其重叠的对象等级:强制(Mandatory) |可判定:Undecidable |cppcheck:👁 需人工审查规则:不能把对象赋值/复制到与自身内存重叠的目标(重叠复制必须用memmove)。为什么:memcpy不保证重叠安全,重叠时结果是未定义的;而「重叠」往往由指针
返回列表