请问怎样在预编译的时候判断某个结构体的大小是否符合要求呢?
比如这样:
typedef struct _MyType {
uint16_t t16;
uint32_t t32;
} MyType;
#define MyType_Size sizeof(MyType)
#if MyType_Size!=6
#error MyType is error!
#endif
//////////////////
可在编译的时候报错,指向的是 #if MyType_Size!=6 这一句, 报错信息为 missing binary operator before token "("
如果我把 #define MyType_Size sizeof(MyType) 改为 #define MyType_Size 8
这样在预编译的时候会提示 MyType is error!
//////////////////
我的需求就是,需要保证MyType的大小为6字节,请问应该怎样实现呢?谢谢指点一二了 :-)