Linux 作为一个人人都可以参与的大型项目,就必须规定其自身的代码风格来规范统一管理。在内核代码树里由一份文档 Documents/CodingStyle 详细地描述了这个代码风格的各种细节,我这里就不赘述了,我想来说一说写完代码之后如何检查是否符合规范。
当然,人肉查询是完全可以的,不过内核代码树提供了一个检查的脚本可以供我们使用,路径在 scripts/checkpatch.pl ,一般可能会出现以下几种错误:
- ERROR: Does not appear to be a unified-diff format patch
出现这个错误只要加上 -f / –file 就可以,意思是:treat FILE as regular source file
如果是说编码错误的话,那么可以使用 vim 来进行转换。用 vim 打开源文件,然后使用这个命令:
:set ff=unix
- WARING: Prefer [subsystem eg: netdev]_dbg([subsystem]dev, … the dev_dbg(dev, … then pr_debug(… to printk(KERN_DEBUG …
这个的话好像是说不要使用 printk , 目前我也没用到其他的子系统,所以都是使用 pr_debug 来代替 printk 的。
还有,在那个脚本我一般都加了如下的几个选项:
./scipts/checkpatch.pl --file --terse --no-tree
差不多就是这样。
EOF
Author: simowce
Permalink: https://blog.simowce.com/linux-kernel-code-check/
本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可。