摘要:
do {} while (0) 主要在宏定义后为语句中使用,比如: 下面我们看看这样的写法的好处。 首先,我们定义一个简单的宏: 那么对于如下的代码 就会被展开成 1) else找不到if 2) 就算没有else分支,p = NULL;无论如何都会运行,这和我们的逻辑不符 3) 出现了两个分号。 其 阅读全文
摘要:
在内核文件里经常看到结构体里成员名以点开头,其实是C99提供的结构体初始化的方法之一。 下面看一下C语言结构体初始化的3种方法: 1. C89标准的初始化方法 2. C99标准初始化方法 3. GUN C 初始化方法 (非标准,不推荐) 阅读全文
摘要:
Linux内核编码风格在内核源代码的 Documentation/CodingStyle 目录下(新版本内核在 Documentation/process/coding style.rst )。 1. 变量命名采用下划线分割单词,如: 2. 代码缩进使用“TAB”,并且Tab的宽度为 8个字符 3. 阅读全文