このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MISRA C:2012 Dir 4.6
基本数値型の代わりに、サイズと符号属性を示す typedefs
を使用する必要があります。
説明
命令の定義
typedefs
that indicate size and signedness should be used in place of the basic numerical types 1
.
根拠
割り当てられるメモリ量が重要な場合、その長さが示されている型を使用することで、各オブジェクトに予約されたストレージの量が明確になります。
Polyspace 実装
Polyspace® は、整数型、浮動小数点型、複素数型を基本的な数値型とみなします。基本的な数値型としてのデータ型に、ビット単位の有効なサイズが含まれていない場合、または一般的に使用されるサイズ関連の単語が含まれていない場合は、違反が報告されます。ビット単位の有効なサイズは、8 の倍数です。サポートされているサイズ関連の単語は、bit、byte、word、およびその他の一般的なキーワードです。
Polyspace は、関数プロトタイプ、型宣言、変数宣言、キャスト式、および sizeof
演算子でデータ型をチェックします。
Polyspace は、以下の使用に対しては違反を報告しません。
キャスト変換での複素数型と虚数型の使用。
size_t
型とptrdiff_t
型の使用。プレーンな
char
の使用。main()
関数の戻り値の型としてのint
の使用。main()
関数のパラメーターのデータ型としてのint
の使用。既知の boolean 型 (
bool
、_Bool
など) の使用。
ヘッダー stdint.h
は、可能な最小または最速の型のサイズを表す、いくつかの固定幅の型を定義します。たとえば、int_least8_t
、unit_fast_8_t
などの型があります。Fixed with integer typesを参照してください。これらの型が使用されている場合、Polyspace は違反を報告します。たとえば、以下のコードでは、24 ビットの変数 var_globe24
を 8 ビット以上の整数型として宣言しています。
int_least8_t var_glob24;
トラブルシューティング
ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。
例
チェック情報
グループ: Code design |
カテゴリ: 推奨 |
AGC カテゴリ: 推奨 |
バージョン履歴
R2014b で導入1 All MISRA coding rules and directives are © Copyright The MISRA Consortium Limited 2021.
The MISRA coding standards referenced in the Polyspace Bug Finder™ documentation are from the following MISRA standards:
MISRA C:2004
MISRA C:2012
MISRA C:2023
MISRA C++:2008
MISRA C++:2023
MISRA and MISRA C are registered trademarks of The MISRA Consortium Limited 2021.