このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MISRA C:2012 Rule 21.6
The Standard Library input/output functions shall not be used
説明
ルール定義
The Standard Library input/output functions shall not be used 1 .
根拠
このルールは <stdio.h>
により提供される関数に適用され、C99 では <wchar.h>
により提供される同等のワイド文字の関数に適用されます。これらの関数を使用すると、未指定、未定義、処理系定義の動作が発生する可能性があります。
Polyspace 実装
ファイルおよびストリームの入力/出力関数を <stdio.h>
および <wchar.h>
ヘッダー ファイルから呼び出す場合、Polyspace® は違反を報告します。標準ライブラリ関数がマクロであり、そのマクロがコード内で展開される場合は、このルールに違反します。Polyspace は、ルール 21.2 に違反していないことを前提とします。
トラブルシューティング
ルール違反を想定していてもその違反が表示されない場合、コーディング規約違反が想定どおりに表示されない理由の診断を参照します。
例
チェック情報
グループ: 標準ライブラリ |
カテゴリ: 必要 |
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.