AUTOSAR C++14 Rule A9-6-1
Data types used for interfacing with hardware or conforming to communication protocols shall be trivial, standard-layout and only contain members of types with defined sizes
説明
ルール定義
Data types used for interfacing with hardware or conforming to communication protocols shall be trivial, standard-layout and only contain members of types with defined sizes.
根拠
ハードウェアと連携している場合や通信プロトコルに準拠している場合は、使用するデータ型のレイアウトを一貫性のある標準化されたものにする必要があります。このようなタスクでは、レイアウトとサイズが、ハードウェアまたはソフトウェアに依存しないデータ型を使用してください。
サイズが明確に定義された型は、ヘッダー <cstdint> にリストされます。このようなデータ型の例として、int16_8 や int32_t などの型が挙げられます。bool、wchar_t、ポインターなどの型はこのリストから除外されます。ハードウェアとインターフェイスで接続している場合や通信プロトコルに準拠している場合は、除外された型の使用を避けてください。
列挙型の使用は、enum の基礎となるデータ型のサイズが明確に定義されている場合にのみ許可されます。このようなタスクでのビットフィールドの使用は、潜在型のサイズが明確に定義されている場合にのみ許可されます。
Polyspace 実装
Polyspace® は、ビット フィールドで次の 2 つのデータ型とは異なるデータ型が使用されている場合に、このルールの違反を報告します。
列挙型
符号なし整数型
トラブルシューティング
ルール違反が想定されるものの、Polyspace から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。
例
チェック情報
| グループ: クラス |
| カテゴリ: Required、Partially automated |
バージョン履歴
R2019a で導入