主要内容

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.