根据 Autosar_SWS,布尔值必须是unsigned char
. 但是我的作品中有很多 MISRA 违规,例如 MISRA 规则 10.1(转换违规)、规则 12.6(有效布尔值)。
我想知道我是否为我的应用程序重新定义了 BOOLEAN,如下所示:
#ifdefine BOOLEAN_T
#undefine BOOLEAN_T
typedef struct {
unsigned char TRUE : 1;
unsigned char FALSE : 1;
} BOOLEAN_T;
#define TRUE 1;
#define False 0;
#endif
安全问题和后果是什么?