Цитата(Dog Pawlowa @ Mar 27 2009, 18:29)

Тогда еще плз поясните отличия между data_alignment и pragma pack?
data_alignment действует на все объявления подряд, а pragma pack только на структуры ?
IAR C/C++ Development Guide
Compiling and linking
#pragma data_alignment=expression
где expression = 1, 2, 4 и т.д.
data_alignment: "Используйте эту директиву для того, чтобы дать переменной более высокое (более строгое) выравнивание стартового адреса, которое в ином случае могло бы иметь место. Эта директива может быть использована для переменных static и auto".
"Примечание: обычно размер переменных пропорционален их выравниванию. data_alignment влияет только на стартовый адрес переменной, но не на её размер, и может, таким образом, использована создания ситуаций, когда размер не кратен выравниванию."
"#pragma pack влияет на структуры, декларированные после неё, до следующей #pragma pack или конца файла. Примечание: Может приводить к существенному увеличению и замедлению кода при доступе к элементам структуры."
Пардон за вольный перевод.