Когда вы увеличиваете регистр, он указывает на 64 бита дальше на 64-битной машине. Однако, если вы хотите добраться до байта внутри этого раздела, компилятору придется проделать дополнительную работу.
Если вы выравниваете память по «краям» памяти, регистры могут обращаться к ним намного быстрее. Это также означает, что элементы структуры дополняются, поэтому некоторое пространство тратится впустую. Если вы делаете дамп памяти структуры, вы можете быть удивлены заполнением.
personSteve Wellensschedule30.10.2012
comment
В macOS компилятор выравнивает любой массив до 16 байт. Делает ли GCC это также в 64-битной системе?
- personRoyi; 05.08.2017
comment
1) понятия не имею. 2) Если у вас есть новый вопрос, вы должны начать новый вопрос, а не отмечать. 3) Некропостинг (публикация в очень старых темах) осуждается.
- personSteve Wellens; 05.08.2017