我正在使用 Tasking VX 工具集(基于 Eclipse)并且有一个我无法解决的相当基本但基本的问题......我已经 RTFMed 并且仍然完全不明智。
想象一下简单的代码片段:
#include <stdbool.h>
bool myFlag = false;
如果我启用 MISRA-C 检查,我会得到以下信息:
MISRA-C rule 10.1 violation: [R] restrict the use of implicit conversions for integer types
Eclipse 设置为 C99 实现,根据标准库定义,stdbool.h
定义为:
#define bool _Bool
#define true 1
#define false 0
我假设这个错误是因为#define false 0
该工具隐式转换为 bool?
注意:如果我进行分配,则错误将被删除:
bool myFlag = (bool)false;
但是(恕我直言)这是在掩盖问题,而不是解决它,我真的不想放弃每一项任务。
诸如 LINT 之类的工具允许您指定 bool 类型来阻止这些误报......我需要 Eclipse/Tasking 的等价物
所以我的问题是:
我怀疑某处有一个工具选项可以告诉 TASKING 那bool
是布尔类型,因此false
可以true
使用吗?
有没有?
{请不要在 [on this thread] 讨论 MISRA 的优点(或其他方面)}