MISRA C:2023 Rule 20.2
The ', " or \ characters and the /* or // character sequences shall not occur in a header file name
自 R2024a 起
描述
The ', " or \ characters and the /* or // character sequences shall not occur in a header file name 1 .
理由
如果出现以下情况,则程序的行为是未定义的:
在头文件名预处理标记中,在
< >分隔符之间使用'、"、\、/*或//。在头文件名预处理标记中,在
"分隔符之间使用'、\、/*或//。
尽管 \ 会导致未定义行为,但许多实现允许用 / 代替它。
Polyspace 实现
Polyspace® 会标记 #include <filename> 中 < 与 > 之间的 '、"、\、/* 或 // 字符。
Polyspace 会标记 #include "filename" 中 " 与 " 之间的 '、\、/* 或 // 字符。
故障排除
如果您预期会出现违规,但未看到该违规,请参阅诊断为何编码规范违规未按预期显示。
检查信息
| 组:预处理指令 |
| 类别:必需 |
| AGC 类别:必需 |
PQL 名称:std.misra_c_2023.R20_2 |
版本历史记录
在 R2024a 中推出
1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.