tyomitch » 23.06.2005 (Чт) 15:38
А можно я попытаюсь объяснить своими словами?
Процессор типа i386 может считывать только DWORD-ы и только по адресу, кратному 4.
Если производится обращение к аргументу, пересекающему границу DWORD-ов, то процессор вынужден выполнить два чтения из памяти подряд. Это занимает вдвое больше времени.
Соответственно, для байтов всё равно, как они выровнены; для WORD-ов надо, чтобы их адрес Mod 4 <> 3 (обычно их "для гарантии" размещают по чётному адресу)