準拠
提供: cppreference.com
準拠には3つの定義があります。
- 厳密に準拠したプログラム ー 厳密に準拠したプログラムは、 well-defined な言語要素 (単一の動作を持つ要素) のみを使用するプログラムです。 未規定、未定義、または処理系定義の動作を含まず、いかなる最低限の処理系の限界も超えません。
- 準拠したプログラム ー 準拠したプログラムは、準拠した処理系が受理するプログラムです。
- 準拠した処理系 ー 準拠したホスト処理系は、厳密に準拠したあらゆるプログラムを受理しなければなりません。 準拠したフリースタンディング処理系は、使用する機能が標準ライブラリの節 (節7) で規定されている標準ヘッダ <float.h>、 <iso646.h>、 <limits.h>、 <stdalign.h>、 <stdarg.h>、 <stdbool.h>、 <stddef.h>、 <stdint.h> および <stdnoreturn.h> の内容に限定された、厳密に準拠したあらゆるプログラムを受理しなければなりません。 準拠した処理系は、厳密に準拠したいかなるプログラムの動作も変更しない限り、拡張 (追加のライブラリ関数を含みます) を持っても構いません。
[編集]説明
標準は翻訳単位におけるいかなる最低限の処理系の制限も定義していません。 ホスト環境はオペレーティングシステムを持ち、フリースタンディング環境はオペレーティングシステムを持ちません。 ホスト環境で実行されるプログラムは、ライブラリの節 (節7) に掲載されているすべての機能を使用できます。 フリースタンディング環境で実行されるプログラムは、節4で要求されているライブラリ機能のサブセットを使用できます。