このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MISRA C:2023 Rule 8.10
説明
ルール定義
An inline function shall be declared with the static storage class 1 .
根拠
外部リンクを含めて宣言されているが、同じ翻訳単位内で定義されていないインライン関数を呼び出すと、その関数がインライン化されないことがあります。インライン化から想定される実行時間の短縮が起こらない可能性があります。
インライン関数を複数の翻訳単位で使用可能にする場合も、static
指定子で定義できます。この場合、ヘッダー ファイルに定義を配置します。関数をインライン化するすべてのファイルにそのヘッダー ファイルをインクルードします。
Polyspace 実装
ルール チェッカーは、static
指定子が付随せずに inline
指定子が含まれている定義にフラグを設定します。
トラブルシューティング
ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。
例
チェック情報
グループ: 宣言と定義 |
カテゴリ: 必要 |
AGC カテゴリ: 必要 |
バージョン履歴
R2024a で導入
参考
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.