Код: Выделить всё
auto data_ptr = segment.find_or_construct("data")[max_elements]();
Я хочу убедиться, что data_ptr выровнен по строке кэша, то есть он должен начинаться с адреса, кратного 64 байтам (в моей системе). Как мне добиться такого выравнивания?
Дополнительная информация:
Размер строки системного кэша составляет 64 байта.
Я использую Boost.Interprocess для управления общей памятью.
Я просмотрел документацию Boost.Interprocess, но не смог найти прямого способа указать выравнивание памяти для find_or_construct. Будет очень полезно, если я смогу найти другой способ выравнивания памяти с помощью Boost и гарантировать, что один процесс инициализирует память, в то время как другой процесс получает структуру данных, без каких-либо проблем с синхронизацией.
Подробнее здесь: https://stackoverflow.com/questions/787 ... red-memory