История изменений
Исправление slovazap, (текущая версия) :
О нём вообще ничего знать не надо, это рудимент из времён царя Гороха.
Поддерживаю. Есть конкретика, как-то размер регистра, размер указателя, размер инта, всё это разные и не особо связанные вещи.
Т.е. если я пишу int a = 123; - эти данные помещаются в регистр, размером 64 бита и не больше. Так?
Эти данные могут помещаться:
- в память, размером sizeof(int), и да - на 64битной платформе он может быть меньше 64 бит - скорее всего будет 32 бита
- в регистры, и тут у компилятора широкий простор - в общем случае он может положить данные в регистр соответствующего размера, в регистр большего размера, в несколько регистров (например 128битное число в пару 64битных регистров), или несколько значений в один регистр (SIMD)
- могут вообще никуда не помещаться - выражение может посчитаться на этапе компиляции и никакие из исходных значений вообще не попадут в скомпилированный код
Исходная версия slovazap, :
О нём вообще ничего знать не надо, это рудимент из времён царя Гороха.
Поддерживаю. Есть конкретика, как-то размер регистра, размер указателя, размер инта, всё это разные и не особо связанные вещи.
Т.е. если я пишу int a = 123; - эти данные помещаются в регистр, размером 64 бита и не больше. Так?
Эти данные могут помещаться:
- в память, размером sizeof(int)
- в регистры, и тут у компилятора широкий простор - в общем случае он может положить данные в регистр соответствующего размера, в регистр большего размера, в несколько регистров (например 128битное число в пару 64битных регистров), или несколько значений в один регистр (SIMD)
- могут вообще никуда не помещаться - выражение может посчитаться на этапе компиляции и никакие из исходных значений вообще не попадут в скомпилированный код