背景:如果A和B合作开发一个项目,约定了共用的结构体,如何确保A修改了结构体(增加字段等等)及时通知到B呢?
typedef struct
{
WORD structLen; //该结构本身长度,用于校验,在业务流程中进行填写
........
}_PACKED_1_ T_TEST_ACK;
/*编译期间检查结构长度*/
#define BUILD_BUG_ON(condition) sizeof(char[2*!!(condition)-1])
void CheckStructLen()
{
WORD a;
a = BUILD_BUG_ON(sizeof(T_TEST_ACK) == 284);
printf(" a:%d \n", a);
printf("T_TEST_ACK: %lud\n", sizeof(T_TEST_ACK));
}