Может кто-нибудь указать мне место, где указано количество бит в байте?
Педантично, это не так.Этот конкретный ABI использует «байт» вместо «октет» повсюду;в современную эпоху «байт» является общим синонимом «октета», потому что подавляющее большинство используемых систем имеют 8-битные байты.
Это действительно так:
ВВ общем, этот документ написан как общая спецификация, которая может быть использована реализациями C ++ на различных архитектурах.Тем не менее, он содержит специфичный для процессора материал для 64-разрядной ABI Itanium, идентифицированный как таковой.Там, где описывается структура структурированных данных, мы обычно принимаем размеры элементов Itanium psABI.
… и все чипы Itanium имеют 8-битные байты.
Если вы используете какой-либо другой чипи у него разное количество бит на байт, и вы нашли компилятор, предназначенный для указанного чипа, тогда у вас есть альтернативный ответ.(Но это не так, и вы этого не сделали.)
Здесь нет места для интерпретации, даже если связь между битами и байтами прямо не указана.
Я буду очень редко пишите static_assert(CHAR_BIT == 8)
, если я чувствую себя особенно параноиком.В целом, вы можете положиться на это, если не нацелены на что-то действительно экзотическое.