может быть разным из-за порядка объявления полей этой структуры. связанно это с тем что для полей разных типов нужны разное кол-во памяти, а процесор читает память по фикированной “ширине” и по этому там вставляются пустые байты которые называются padding. Три вопроса возникает:
1. в rust компилятор оптимизирует расположение полей в структурах, чтобы было как можно меньше этих padding-ов?
2. как называется эта штука которой процессор обращается фиксированной шириной.
3. Что такое смещение и почему оно везде фигурирует
1. Раст оптимизирует layout структур, но никаких гарантий нет 2. alignment может?
то есть это то с каким шагом процессор считывает память и есть смещение
3. Если я правильно понял вопрос, то смещение это просто "расстояние", например между началом структуры и началом определённого поля
Обсуждают сегодня