主要内容

MISRA C:2012 Rule 20.2

R2026b

The ', " or \ characters and the /* or // character sequences shall not occur in a header file name

描述

The ', " or \ characters and the /* or // character sequences shall not occur in a header file name 1 .

理由

如果出现以下情况,则程序的行为是未定义的:

  • 在头文件名预处理标记中,在 < > 分隔符之间使用 '、"、\、/* 或 //。

  • 在头文件名预处理标记中,在 " 分隔符之间使用 '、\、/* 或 //。

尽管 \ 会导致未定义行为,但许多实现允许用 / 代替它。

Polyspace 实现

Polyspace® 会标记 #include <filename> 中 < 与 > 之间的 '、"、\、/* 或 // 字符。

Polyspace 会标记 #include "filename" 中 " 与 " 之间的 '、\、/* 或 // 字符。

报告中的补充消息

The ', "or \ characters and the /* or // character sequences shall not occur in a header file name.

故障排除

如果您预期会出现违规,但未看到该违规,请参阅诊断为何编码规范违规未按预期显示。

检查信息

组:预处理指令
类别:必需
AGC 类别:必需
PQL 名称:std.misra_c_2012.R20_2

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:2025

  • MISRA C++:2008

  • MISRA C++:2023

MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.