检查有符号整数的按位运算
检查 ID:mathworks.misra.CompliantCGIRConstructions
识别包含有符号整数的按位运算的 Simulink 模块。
描述
遵循此检查的建议可以提高为嵌入式应用程序生成符合 MISRA C:2012 和 MISRA C:2023 标准的代码以及符合 CERT C 和 CWE 标准的代码的可能性。
适用于 Embedded Coder® 和 Simulink® Check™。
注意
如果模型包含 Stateflow 元素,则需要 Stateflow® 许可证。
结果和建议的操作
| 条件 | 建议的操作 |
|---|---|
| 模型中的模块包含有符号整数的按位运算。 | 请考虑使用无符号整数进行按位运算。 |
功能和限制
检查是在生成的代码级别而不是模型级别进行的。因此,即使底层模型可能会产生此类问题,但如果生成的代码没有表现出不安全的输入验证,它可能不会标记模块。为了克服这一限制,请使用 检查位运算块的使用情况 检查,该检查旨在检测模型级别的不安全输入验证。
另请参阅
MISRA C:2012, Rule 10.1
MISRA C:2023, Rule 10.1
CERT C, INT13-C
CWE, CWE-682
hisl_0060: Configuration parameters that improve MISRA C compliance
MISRA C (Embedded Coder)