Вебинар: Использование статических анализаторов кода при разработке безопасного ПО - 19.12
Выравнивание данных (data alignment) - стратегия расположения данных в оперативной памяти по определенным правилам, способствующих ускорению доступа к ним.
Микропроцессоры в качестве основной единицы при работе с памятью используют машинное слово, размер которого может быть различным. Как правило, машинное слово равно 2^k байтам. При сохранении объекта данных в памяти может случиться, что некое поле, состоящее из нескольких байтов, пересечёт "естественную границу" слов в памяти. Некоторые модели процессоров не могут обращаться к данным в памяти, нарушающим границы машинных слов. Другие могут обращаться к данным без выравнивания, но делают это менее эффективно, чем к данным, находящимся внутри целого "машинного слова" в памяти.
Выравнивание данных достигается за счет наличия между объектами данных пустых ячеек памяти. Это увеличивает размер структур данных, но делает доступ к данным более быстрым.
0