在剖析epoll源代码的时候,发现了一个很有用的宏,该宏的目的主要是解决一些条件满足,一旦无法满足这些条件,将会在编译阶段提示错误,而不是到运行阶段出现crash。
宏定义如下:
#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)])) //如果条件*满足就直接char[-1],此时将会出现编译错误。
宏的使用:
BUILD_BUG_ON(EPOLL_CLOEXEC != O_CLOEXEC);
转帖:http://blog.csdn.net/tenfyguo/article/details/12151629
转 一个用于在编译阶段发现错误的技巧
猜你喜欢
转载自carma2002.iteye.com/blog/2232520
今日推荐
周排行