CHAR_BIT когда-либо> 8?

Для стандарта ISO C требуется CHAR_BIT не менее 8.

Если POSIX-мандат CHAR_BIT будет равен 8 и (почти?) всем сетевым и коммуникационным стандартам с использованием октетов, существует ли какая-либо современная реализация C, где CHAR_BIT > 8?

(Примечание: меня не интересуют исторические архитектуры компьютеров с использованием 18 или 36 бит слов. Это действительно вопрос о C, поскольку он используется сегодня на текущем оборудовании, подумайте о системах с реализацией C99 или более поздней версии).

Ответы

Ответ 1

TMS320C28x DSP из Texas Instruments имеет байт с 16 бит.

Документация для компилятора указывает CHAR_BIT как 16 на стр. 101.

Это, кажется, современный процессор (в настоящее время продается), компиляторы, поддерживающие C99 и С++ 03.

Ответ 2

Другим примером является семейство процессоров семейства SHARC Analog Devices CrossCore Embedded Studio содержит CHAR_BIT == 32 и , чтобы обеспечить автономные C99 и С++ 11.

Ответ 3

Analog Devices SHARC DSP уже упоминался (CHAR_BIT == 32). Позвольте мне добавить, что последние ядра SHARC + (я использую ADSP-SC589 и инструментарий CCES) могут запускать приложения, написанные в двух режимах: CHAR_BIT == 8 или CHAR_BIT == 32. Вы можете даже mix'n'match использовать два режима в одном приложении. Хотя я бы не рекомендовал это для разработки в целом, я считаю это полезным при переносе кода.