вместо 368, так что массив все еще выровнен по 16 байтов. (IIRC, x86-64 System V ABI, по крайней мере, рекомендует это для массивов с автоматическим хранением с размером> = 16 байт.)

ющий код

int main() {
  int arr[120];
  return arr[0];
}

Компилируется в это:

  sub     rsp, 360
  mov     eax, DWORD PTR [rsp-480]
  add     rsp, 360
  ret

Зная, что целые числа составляют 4 байта, а размер массива - 120, массив должен занимать 480 байтов, но из ESP вычитается только 360 байтов ... Почему это так?

Ответы на вопрос(2)

Ваш ответ на вопрос