Spec-Zone.ru › GCC 6

4.4 Символы

  • Количество битов в байте (C90 3.4, C99 и C11 3.6).

    Определяется ABI.

  • Значения элементов набора символов выполнения (C90, C99 и C11 5.2.1).

    Определяется ABI.

  • Уникальное значение элемента набора символов выполнения, генерируемое для каждой стандартной альфабетной управляющей последовательности (C90, C99 и C11 5.2.2).

    Определяется ABI.

  • Значение объекта char, в который был сохранен любой символ, отличный от элемента основного набора символов выполнения (C90 6.1.2.5, C99 и C11 6.2.5).

    Определяется ABI.

  • Какой из signed char или unsigned char имеет тот же диапазон, представление и поведение, что и «обычный» char (C90 6.1.2.5, C90 6.2.1.1, C99 и C11 6.2.5, C99 и C11 6.3.1.1).

    Определяется ABI. Опции -funsigned-char и -fsigned-char изменяют значение по умолчанию. См. Параметры управления диалектом C.

  • Сопоставление элементов набора символов источника (в символьных константах и строковых литералах) с элементами набора символов выполнения (C90 6.1.3.4, C99 и C11 6.4.4.4, C90, C99 и C11 5.1.1.2).

    Определяется ABI.

  • Значение целочисленной символьной константы, содержащей более одного символа или содержащей символ или управляющую последовательность, которая не отображается в однобайтовый символ выполнения (C90 6.1.3.4, C99 и C11 6.4.4.4).

    См. Определяемое реализацией поведение в Препроцессоре C.

  • Значение символьной константы широкого типа, содержащей более одного многобайтового символа или одного многобайтового символа, который отображается на несколько элементов расширенного набора символов выполнения, или содержащей многобайтовый символ или управляющую последовательность, не представленную в расширенном наборе символов выполнения (C90 6.1.3.4, C99 и C11 6.4.4.4).

    См. Определяемое реализацией поведение в Препроцессоре C.

  • Текущий язык, используемый для преобразования символьной константы широкого типа, состоящей из одного многобайтового символа, отображающегося на элемент расширенного набора символов выполнения, в соответствующий код широкого символа (C90 6.1.3.4, C99 и C11 6.4.4.4).

    См. Определяемое реализацией поведение в Препроцессоре C.

  • Возможно ли конкатенация символьных литералов широкого типа с разными префиксами и, если да, то обработка полученной последовательности многобайтовых символов (C11 6.4.5).

    Конкатенация таких литералов не допускается.

  • Текущий язык, используемый для преобразования строкового литерала широкого типа в соответствующие коды широких символов (C90 6.1.4, C99 и C11 6.4.5).

    См. Определяемое реализацией поведение в Препроцессоре C.

  • Значение строкового литерала, содержащего многобайтовый символ или управляющую последовательность, не представленную в наборе символов выполнения (C90 6.1.4, C99 и C11 6.4.5).

    См. Определяемое реализацией поведение в Препроцессоре C.

  • Кодировка любого из wchar_t, char16_t, и char32_t, где соответствующая стандартная макрокоманда кодировки (__STDC_ISO_10646__, __STDC_UTF_16__, или __STDC_UTF_32__) не определена (C11 6.10.8.2).

    См. Определяемое реализацией поведение в Препроцессоре C. Литералы char16_t и char32_t всегда закодированы в UTF-16 и UTF-32 соответственно.

Далее: Реализация целых чисел, Предыдущее: Реализация идентификаторов, Вверх: Реализация C [Оглавление][Индекс]

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-6.5.0/gcc/Characters-implementation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API