Соответствие
Соответствие имеет три определения:
- строго соответствующая программа — использует только хорошо определённые конструкции языка, то есть конструкции с единственным поведением. Она не допускает неспецифицированного, неопределённого или определяемого реализацией поведения и не превышает никаких минимальных ограничений реализации.
- соответствующая программа — допустима для соответствующей реализации.
-
соответствующая реализация —
- Соответствующая реализация с поддержкой ОС должна принимать любую строго соответствующую программу.
- Соответствующая автономная реализация должна принимать любую строго соответствующую программу, в которой использование возможностей, указанных в разделе о библиотеке (раздел 7), ограничено содержимым заголовков стандартной библиотеки для автономной реализации (см. ниже).
- Соответствующая реализация может иметь расширения (включая дополнительные библиотечные функции) при условии, что они не изменяют поведение любой строго соответствующей программы.
Пояснение
Стандарт не определяет никаких минимальных ограничений реализации для единиц трансляции. Среда с поддержкой ОС имеет операционную систему; автономная среда — нет. Программа, работающая в среде с поддержкой ОС, может использовать все возможности, описанные в разделе о библиотеке (раздел 7); программа, работающая в автономной среде, может использовать подмножество возможностей библиотеки, требуемое разделом 4.
Заголовки стандартной библиотеки для автономной реализации
Все возможности стандартной библиотеки в каждом полностью автономном заголовке должны предоставляться автономной реализацией.
| Некоторые заголовки стандартной библиотеки являются условно автономными.
Некоторые заголовки стандартной библиотеки являются частично автономными.
| (начиная с C23) |
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
- 4 Соответствие (стр. 9–10)
- Стандарт C17 (ISO/IEC 9899:2018):
- 4 Соответствие (стр. 4)
- Стандарт C11 (ISO/IEC 9899:2011):
- 4 Соответствие (стр. 8–9)
- Стандарт C99 (ISO/IEC 9899:1999):
- 4 Соответствие (стр. 7–8)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 1.7 Соответствие
См. также
| Документация по C++ для Автономная реализация и реализация с поддержкой ОС |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/language/conformance