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