我想添加在编译期间检查结构大小以确保它是预定义大小的代码。例如,当我移植此代码或在编译期间从结构中添加/删除项目时,我想确保此结构的大小为 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");
}
但是如果我在运行时这样做是浪费处理。我需要在编译期间执行此操作。
在编译过程中如何做到这一点?