另外,尽管C++在某些方面给开发者提供便利,但C语言如果用得好很多时候也能达到与之相当的便利程度
Linus Torvalds本人也反对使用C++开发内核,据说他曾经也试过C++,不过没搞成功,以后应该也不会再折腾了
内核开发者ArndBergmann发出了一个新的补丁,允许Linux内核在指定C11的GNU方言时默认使用“-std=gnu11”。事件的前因后果为,Linux内核社区日前曾讨论了是否要为内核采用现代C语言标准。Linus在讨论中提出了从C89提升到C99的想法;并表示,内核代码一直停留在C89的原因之一是编译器gcc的旧版本会出现奇怪的问题,导致初始化程序被破坏。但现在内核要求的GCC最低版本已经提高到了v5.1,那些bug可能已经不再相关。
最后事实证明,以当前内核的最低版本编译器要求和当前代码的条件,他们实际上可以开始使用C11构建内核。ArndBergmann提议直接升级到C11甚至C2x。虽然他不确定C11是否会带来任何对内核有用的新内容,但如果升级到C17或C2x,会破坏对gcc-5/6/7的支持;因此升级到C11更容易实现,而且跨越太大内核社区未必接受。
Linus对该想法表示了赞成。在Bergmann确认此举可行后,Linus宣布将在下一个内核版本v5.18中尝试使用C11标准。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)