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