MicroC-MXF の場合の MISRA C 規則および違反

MicroC-MXF を使用して、MISRA C に準拠したコードを生成する際には、MISRA C 規則に従う必要があります。

目的

以下のリストには既知の規則違反を示しています。
表 1. Rhapsody-C 7.5.3/ mxf MisraC 規則および違反
MISRA 規則 MISRA 規則の説明 Rhapsody-C 7.5.3/ mxf 準拠状況 違反説明、コメント
98 2004
93 (A) 19.7 (A) 関数とマクロ 非準拠。 効果的な関数インライン化をサポートしない一部の環境でパフォーマンスを改善するために使用されます。
96 (R) 19.10 (R) 非準拠。一部の特定の場所で、mxf コードから呼び出されました。ここでの説明にリストされた特定の構成を使用しなければ、回避できます。 非準拠。OXF コード内の一部の場所からです。
パラメーターのカプセル化:
  1. データ宣言の型として使用されるパラメーター
  2. ## のオペランドとして使用されるパラメーター (Misra 準拠)
該当なし 19.13 (A) # および ## プリプロセッサー演算子は、使用しないでください。 非準拠。 mxf ファイルの柔軟性を増すために使用されます。
以下に Rhapsody-C 7.5.3/ mxf MISRA C 準拠に関する説明と例をさらに示します。
  • MISRA 規則 #93 (R): 関数形式マクロよりも関数を使用する必要があります。

    違反説明: 効果的な関数インライン化をサポートしない一部の環境で効率を上げ、パフォーマンスを改善するために、マクロは関数の代わりに使用されます。

    #define RiCGEN(INSTANCE,EVENT) 									¥
       ((INSTANCE) != NULL) ? RiCReactive_gen(&((INSTANCE)->ric_reactive),	(EVENT), RiCFALSE): RiCFALSE 

フィードバック