Re[3]: выравнивание и массивы
От: remark Россия http://www.1024cores.net/
Дата: 03.02.08 10:17
Оценка:
Здравствуйте, Аноним, Вы писали:

R>>Элементы массива располагаются с тем же выравниваем, что и отдельные переменные.


А>видимо я что-то не понимаю

А>1. правильно я понимаю, чтоо на однотипные типы выравнивание не распостраняется?
А>2. почему в структуре s_c_i размер 8? ведь выравнивание стоит в 8, и вроде бы как размер должен быть 12?


#pragma pack(8) ставить не обязательно — выравнивание и так по-умолчанию 8.
Выравнивание для члена выбирается как *минимум* из установленного выравнивания и размера члена.

Если хочешь зафиксировать нужную тебе бинарную раскладку структуры, то лучше установи наоборот #pragma pack(1) и вручную добавь между членами "прослойки" нужных размеров из char[].



1024cores — all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.