构建一个编译时错误

#define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) , 如果e为非0的话,将会产生一个编译时错误, 因为一个位域不能为负数, 为0 的话OK。 原来一个结构体的定义也可以这样,木有结构名,其成员也木有名, 尼玛都是无名氏啊, 其实不管怎么奇怪,只要你丫编译器能认识就行了。 算是一种约定吧, 这个宏的名字取得反义。。。

你可能感兴趣的:(构建一个编译时错误)