有没有办法在预处理器宏中使用 sizeof
?
举个例子,这些年来有很多情况下我都想做这样的事情:
#if sizeof(someThing) != PAGE_SIZE
#error Data structure doesn't match page size
#endif
我在这里检查的确切内容完全是编造出来的——关键是,我经常喜欢在编译时进行这种类型的(大小或对齐)检查,以防止有人修改数据结构,这可能会导致错误对齐或重新调整大小,从而破坏它们。
不用说,我似乎不能以上述方式使用 sizeof
。