hirthwork
08.04.2012 21:00 mcabber92FF2E55
посоны, если поинтер на блок данных достаточно большого размера, если структура, которую хочется в этот блок данных записать. есть проблема, что поинтер не выровнен. вопрос, как считать в этом случае количество байт на которое нужно ещё отступить? округлить вверх до размера записываемой структуры мне не кажется лучшим способом
смотря на какой архитектуре. на i386 достаточно до кратного 4 выровнять, на amd64 — лучше до кратного 8
вот у меня и вопрос, как определить в компайл-тайме до какого числа округлять? предвижу существование архитектур, где можно и до единиц округлить.
до sizeof(void*) ?
-_-
смелое предположение, а если у структуры выравнивание по два байта?