我正在使用“IAR RL78”和“RL78-R5F10BGG”微控制器。我还在 IAR 中启用了 MISRA C 2004。
我想将我的功能之一定义为“内联”。这个内联函数应该在各种 c 文件中使用。所以我在我的一个中定义了这个函数
头文件,并将该头文件包含在所有需要该函数的 c 文件中。但我的问题是因为编译后的 MISRA C 8.5 规则。它说:
错误[Pm123]:头文件中不应有对象或函数的定义(MISRA C 2004 规则 8.5)
以下是 common.h 头文件中内联函数的定义:
static inline int16u SET_BIT(int16u int16uVar, int16u int16uBitIndex);
#pragma inline=forced
static inline int16u SET_BIT(int16u int16uVar, int16u int16uBitIndex)
{
int16uVar |= ( (int16u)1u << (int16uBitIndex) );
return int16uVar ;
}
有什么问题?
有没有办法摆脱这个问题?