Re[2]: [C] как разместить структуру внутри буфера
От: B0FEE664  
Дата: 27.02.19 10:54
Оценка:
Здравствуйте, kov_serg, Вы писали:

BFE>>Допустим у меня есть предзаказанный буфер длиною N и я хочу внутри него разместить несколько разных экземпляров разных структур. Как это сделать правильно?

BFE>> pBuffer->tail += sizeof(MyStruct); // _Alignof(MyStruct) ?
_>У вас размер структуры должен быть выравнен (paddings).
Зачем мне выравнивать размер структуры? Структуры разные и разного размера должны лежать в одном буфере. Выравнивать все по одному размеру — зря расходовать память.

_>Достаточно что бы начало вашего региона было выравнено.

разве?

_>А так можете вручную выравнивать если память линейная

Память линейная, но я не понимаю как это применять:
_>
_>#define align(x,n) ((char*)(x)+(-(int)(char*)(x)&(n-1)))
_>
И каждый день — без права на ошибку...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.