Недавно я задал вопрос здесь относительно размера char
. Глядя на мой вопрос, он привел меня к другому вопросу:
Зависят ли такие вещи, как количество битов в char
или sizeof(int)
от процессора, от ОС, от компилятора или от какой-то комбинации вышеперечисленного? Кто решает, что sizeof(int)
в моем компиляторе равно 4?
РЕДАКТИРОВАТЬ:Поясню :Например, мой компилятор в 64-битной системе использует 32-битную int
. Установлено ли это компилятором или ОС в качестве стандартного int для всех компиляторов в этой (точной )комбинации ОС/платформа? Как насчет char
= 8 бит? Может ли ОС решить, что она будет использовать 16-битные символы? Может компилятор?