Если я использую allocate_aligned
выделить часть выровненной памяти в управляемой разделяемой памяти, гарантируется ли, что это распределение будет иметь такое же выравнивание при совместном использовании в других процессах? Документация проясняет, что базовый адрес может отображаться по-разному, конечно, но это ничего не говорит о выравнивании.
Я провел эксперимент, который, кажется, показывает, что выравнивание такое же, но это может быть просто неудачей, и поэтому я хотел бы получить более надежное подтверждение ожидаемого поведения. (Здравый смысл говорит, что это должно быть то же самое выравнивание, иначе это серьезно ограничило бы полезность allocate_aligned
в общей памяти, но мне действительно нужно больше, чем просто обращение к здравому смыслу.)
Да, если вам не нужно больше выравнивания страницы по какой-то странной причине.
Базовый адрес может отображаться по-разному, но такие сопоставления выполняются с гранулярностью страницы. Это подразумевает выравнивание 4K на общих архитектурах.
Других решений пока нет …