MISRA C:2023 Rule 8.10
描述
规则定义
An inline function shall be declared with the static storage class 1 .
理由
如果调用一个使用外部链接声明但未在同一转换单元中定义的内联函数,该函数可能不会被内联。您可能实现不了您期望通过内联实现的执行时间缩短。
如果希望一个内联函数可供多个转换单元使用,您仍然可以使用 static 设定符来定义它。在这种情况下,应将定义放在一个头文件中。在所有希望内联该函数的文件中包括该头文件。
Polyspace 实现
规则检查项会标记那些包含 inline 设定符但没有相应 static 设定符的定义。
故障排除
如果您预期会出现违规,但未看到该违规,请参阅诊断为何编码规范违规未按预期显示。
示例
检查信息
| 组:声明和定义 |
| 类别:必需 |
| AGC 类别:必需 |
版本历史记录
在 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.