Сообщение Re: Выравнивание данных и размер структур от 26.11.2019 8:38
Изменено 26.11.2019 8:40 TimurSPB
Re: Выравнивание данных и размер структур
DZS>Сейчас поставил #pragma pack для подстраховки.
DZS>Но как правильно эта проблема решается?
Как уже выше писали, надо упаковать.
Для подстраховки, везде где ждёшь заданного выравнивания, можно поставить assert
DZS>Но как правильно эта проблема решается?
Как уже выше писали, надо упаковать.
#pragma pack(push, 1)
class CTest
.....
#pragma pack(pop)Для подстраховки, везде где ждёшь заданного выравнивания, можно поставить assert
static_assert(alignof(CTest) == 1, "Запакуй меня!");Re: Выравнивание данных и размер структур
DZS>Сейчас поставил #pragma pack для подстраховки.
DZS>Но как правильно эта проблема решается?
Как уже выше писали, надо упаковать.
Для подстраховки, везде где ждёшь заданного выравнивания, можно поставить assert
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, "Запакуй меня!");