問題タブ [misra]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
1013 参照

c - 医療業界向け MISRA 相当?

タイトルとほぼ同じですが、自動車業界の MISRA に相当する医療業界のドキュメント、標準、またはセットはありますか?

私はCの分野で働いていますが、言語にとらわれないものなら何でもいいでしょう

0 投票する
4 に答える
3283 参照

c++ - doubleではなくfloatを必要とするprintf指定子はありますか?

snprintfタイプのパラメータで「%f」指定子を使用すると、MISRAタイプのエラーが発生しますfloat

私の調査によると、「%f」はのタイプを想定しているため、MISRAは正しいですdouble

float型パラメーターではなく型パラメーターを使用する浮動小数点指定子または修飾子はありdoubleますか?

私は組み込みシステムで作業していますがdouble、関数を満足させるためだけに32ビット浮動小数点から64ビットに変換したくありませんsnprintf。コードはデバッグ/コンソールポートに出力され、これが変換が行われる唯一の場所です。

コード例が必要な方のために:

SOとWebに関する私の研究はすべて、浮動小数点値の出力に関するものであり、float昇格doubleが行われないようにパラメーターを必要とする指定子に関するものではありません。

ARM7TDMIプロセッサ用のIAREmbeddedWorkbenchコンパイラを使用しています。

0 投票する
1 に答える
1605 参照

c - MISRA C 2004 および c99

MISRA C 2004 の規則 1.1 は、仕様が c90 をカバーし、c99 をカバーしないことを指定します。

自分でコーディングする代わりに、stdint および stdbool ライブラリを使用したいと考えています。MISRA 実装でこの例外を作成した人はいますか?

0 投票する
3 に答える
2489 参照

c - char配列とMISRAエラーの初期化

私は次の行を持っています(問題を最小限に示すために縮小されています):

この行は、次のMISRAエラーを生成します。

なぜこれがエラーなのですか?

私の現在の回避策は次のとおりです。

これは、型が私のコンパイラ(IAR EW)によってchar実装されていることを示しています。signed char

私の理解では、「\ 0」は文字リテラルであるため、タイプと一致する必要がありcharます。

0 投票する
5 に答える
15079 参照

c - C90標準でenumを無署名にする方法はありますか? (MISRA-C 2004準拠)

列挙型を「署名なし」にする方法を見つけようとしています。

もちろん、型キャストを追加してエラーを取り除くことができますが、これには時間がかかり、エラーが発生しやすくなります。

では、MISRA-C 2004 が好む特定の列挙型を署名なしにする方法はありますか?

0 投票する
1 に答える
350 参照

c++ - misraルールに準拠していない#defineコマンドで配列を定義する

私はこの定義を持っています:

いつ

残念ながら、MISRA-C++ルール8-5-2に準拠していません。

なぜ準拠していないのか説明してもらえますか?#defineコマンドは定義を次のようなものに変えると思いました:

これはMISRAルールに準拠しています。

を維持しながら、これをMISRAに準拠させる方法はあり#defineますか?

0 投票する
3 に答える
2392 参照

c++ - MISRA による null-pointer-constant 警告の代わりにリテラル ゼロ

私はこの機能を持っています:

コンパイルされますが、次の MISRA 警告が表示されます。

MISRA-C++ ルール 4-10-2 (必須): リテラル ゼロ (0) は null-pointer-constant として使用してはならない。

さて、もしnumShots「本物の」ポインターだったら、私はに変更できたはず0ですNULL。しかしnumShots、参照であり、それはint.

MISRA は何を望み、その理由は何ですか?

0 投票する
1 に答える
4003 参照

c - typedef struct ポインターを int ポインターとしてキャストする MISRA04

MSP430F5438A 用のファームウェアを書いています。このコードはほとんどが MISRA04 準拠であることを望みます (C90 ではなく C99 を使用しています)。MISRA 準拠をチェックできる IAR 5.51 を使用しています。

次のデータ構造があります。

この構造体のインスタンスを、グローバルに読み取ることができるフラッシュ メモリに作成したいと考えています。フラッシュに書き込むための別の方法が既にあります。

この構造体へのグローバル ポインターの定義は次のとおりです。

これは問題なく動作し、MISRA に準拠しているようです。

これで、フラッシュ内の任意のセグメントに対して書き込みおよび読み取りを行う一連の関数をフラッシュ ドライバーに実装しました。それらはすべて uint8_t ポインターを引数として取ります。

このような関数を呼び出すにはどうすればよいですか?

これ:

コンパイルして正常に動作しますが、MISRA04 によるとタブーです...

ありがとう、ニック

0 投票する
2 に答える
1140 参照

c++ - MISRA C++ 2008 Required Rule 5-2-12 に違反せずに std::map にアイテムを挿入する方法は?

PC-Lint (au-misra-cpp.lnt) で次のエラーが発生します。

エラー 1960: (注 -- MISRA C++ 2008 Required Rule 5-2-12、ポインタを期待する関数に渡された配列型に違反しています)

このコードで:

_IDs は次のように宣言されます。

また、次のように変更しようとしました:

しかし、同じエラーが発生します。

コードをミスラに準拠させるにはどうすればよいですか?