为什么linux kernel喜欢这样写
最近在看linux kernel源码的时候,发现linux kernel喜欢在每个函数体语句块的开头先声明好函数要使用到的变量,就算该变量仅仅是用于for循环。
比如说,大部分同学写for循环可能是这j样的:
1 |
|
但是linux kernel就会这样写:
1 |
|
why?有没有同学很好奇嘞
查了一下才知道,原来C89标准还不支持在for循环内声明变量的语法,这个语法是在C99标准才加入的。
而linux kernel为了兼容C89,能在一些不支持C89编译器上编译,所以才喜欢这样(很大的原因我觉得,毕竟linux真的兼容性超强)。
当然这里我觉得还有一些其他好处,比如说代码一致性,这样可以很方便看出每个函数都会用到哪些局部变量,更容易阅读代码。
还有吗?待补充(doge
为什么linux kernel喜欢这样写
http://example.com/2025/01/08/为什么linux-kernel喜欢这样写/