我们在进行Linux驱动开发过程中,有没有出现过这样的报错?
WARNING: do not add new typedefs不允许使用typedef!
虽然只是一个警告,但是如果你想往开源仓库提交代码,这就是一个必优化项。
那么,为什么Linux内核不建议使用typedef呢?
1、Linus Torvalds 的态度> On Mon, 10 Jun 2002, Linus Torvalds wrote: > > --snip/snip > > But in the end, maintainership matters. I personally don't want the > > typedef culture to get the upper hand, but I don't mind a few of them, and > > people who maintain their own code usually get the last word.
> > to sum it up: > > using the "struct mystruct" is recommended, but not a must.
Torvalds 本人不太想看到typedef文化占上风,但是维护自己代码的人通常有最后的发言权。
Torvalds 原文详见:https://lkml.indiana.edu/hypermail/linux/kernel/0206.1/0402.html
2、内核编码规范从内核编码规范的角度,来看typedef
内核编码规范给出了typedef使用的一些场合:
内核编码规范详见:https://www.kernel.org/doc/html/v4.10/process/coding-style.html
3、个人看法个人感觉,从大型项目的开发维护上来说,typedef不建议使用,避免造成类型泛滥,也更加不容易理解。
对于个人开发的小项目,typedef可以完全看自己心情,毕竟typedef褒贬不一。
下面分享一些社区讨论帖子:
▐ 我的圈子: 高级工程师聚集地
作者: _嵌入式艺术_, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-4040659.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论