Я хочу добавить код, который во время компиляции проверяет размер структуры, чтобы убедиться, что это предопределенный размер. Например, я хочу убедиться, что размер этой структуры составляет 1024 байта, когда я переношу этот код или когда я добавляю/удаляю элементы из структуры во время компиляции:
#pack(1)
struct mystruct
{
int item1;
int item2[100];
char item3[4];
char item5;
char padding[615];
}
Я знаю, как это сделать во время выполнения, используя такой код:
if(sizeof(mystruct) != 1024)
{
throw exception("Size is not correct");
}
Но это пустая трата обработки, если я делаю это во время выполнения. Мне нужно сделать это во время компиляции.
Как это сделать во время компиляции?