このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MISRA C:2023 Dir 4.9
A function should be used in preference to a function-like macro where they are interchangeable
R2024a 以降
説明
命令の定義
A function should be used in preference to a function-like macro where they are interchangeable
根拠
可能な場合には、マクロの代わりに関数を使用します。関数は引数タイプのチェックと引数の評価を 1 回行い、複数の潜在的な二次的影響を含む問題を回避します。
Polyspace 実装
Polyspace® は、すべての関数形式のマクロ定義に対してこのルールの違反を報告します。
例外として、_Generic 選択に対して関数形式のマクロを使用する場合、Polyspace はこのルールに対する違反を報告しません。
トラブルシューティング
ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。
例
チェック情報
| グループ: Code design |
| カテゴリ: 推奨 |
| AGC カテゴリ: 推奨 |
バージョン履歴
R2024a で導入