Tasking VXツールセット(Eclipse上に構築)を使用していますが、かなり基本的ですが根本的な問題があり、回避できません... RTFMを実行しましたが、まだまったく賢明ではありません。
単純なコードスニペットを想像してみてください。
#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 myFlag = (bool)false;
しかし、(私見)それは問題に対処するのではなく、問題を覆い隠しているので、私は本当にすべての割り当てをキャストしたくありません。
LINTなどのツールを使用すると、boolタイプを指定して、この種の誤検知を防ぐことができます... Eclipse/Taskingに相当するものが必要です
だから私の質問はこれです:
bool
どこかにブール型のTASKINGを伝えるツールオプションがあるのではないかと思いますのでfalse
、true
使用しても大丈夫ですか?
ある?
{MISRAのメリット(またはその他)について[このスレッドで]議論しないでください}