hirthwork 08.04.2012 21:00 mcabber92FF2E55

посоны, если поинтер на блок данных достаточно большого размера, если структура, которую хочется в этот блок данных записать. есть проблема, что поинтер не выровнен. вопрос, как считать в этом случае количество байт на которое нужно ещё отступить? округлить вверх до размера записываемой структуры мне не кажется лучшим способом

1. gelraen 08.04.2012 21:01

смотря на какой архитектуре. на i386 достаточно до кратного 4 выровнять, на amd64 — лучше до кратного 8

2. hirthworkgelraen /1 08.04.2012 21:03 mcabber92FF2E55

вот у меня и вопрос, как определить в компайл-тайме до какого числа округлять? предвижу существование архитектур, где можно и до единиц округлить.

3. gelraenhirthwork /2 08.04.2012 22:04

до sizeof(void*) ?

4. dorfe 08.04.2012 23:16

-_-

5. hirthworkgelraen /3 09.04.2012 10:43 mcabber129D6C78

смелое предположение, а если у структуры выравнивание по два байта?

Do you really want to delete ?