Re: Выравнивание данных и размер структур
От: TimurSPB Интернет  
Дата: 26.11.19 08:38
Оценка:
DZS>Сейчас поставил #pragma pack для подстраховки.
DZS>Но как правильно эта проблема решается?

Как уже выше писали, надо упаковать.
#pragma pack(push, 1)
class CTest
.....
#pragma pack(pop)


Для подстраховки, везде где ждёшь заданного выравнивания, можно поставить assert
static_assert(alignof(CTest) == 1,    "Запакуй меня!");
static_assert(alignof(CTest::a) == 1, "Запакуй меня!");
static_assert(alignof(CTest::b) == 1, "Запакуй меня!");
static_assert(alignof(CTest::c) == 1, "Запакуй меня!");
Make flame.politics Great Again!
Отредактировано 26.11.2019 8:40 TimurSPB . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.