1. 条件编译
防止头文件被重复包含
#ifndef _HEAD_H
#define _HEAD_H
#endif
2. 编译时断言
在编译时进行条件检查的断言,而不是在运行时进行
#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
//!!(condition):condition的值为true或false,false值可以确定为0值,true为非0的任意数,进行两次逻辑非操作后变为0或1,前面的void可使宏不返回结果;
(后续补充)
阅读(546) | 评论(0) | 转发(0) |