muduo 开源阅读笔记(一)

关键数据结构/关键字

文件Mutex.h中:
#define MCHECK(ret) ({ __typeof__ (ret) errnum = (ret);         \
                       if (__builtin_expect(errnum != 0, 0))    \
                         __assert_perror_fail (errnum, __FILE__, __LINE__, __func__);})



涉及到三个关键字:
1.  __typeof__ (ret) 获取ret的数据类型;
2.__builtin_expect      函数原型: long __builtin_expect (long EXP, long C)  
                             解释:如果表达式EXP成立(非0),则返回C;否则返回0. 结合上面的例子(如下)
                 if (__builtin_expect(errnum != 0, 0))    \
                         __assert_perror_fail (errnum, __FILE__, __LINE__, __func__);})
                             如果"errnum!=0 "成立,则返回C(=0),

       

你可能感兴趣的:(muduo,开源阅读笔记)