首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Linux内核(或其他低级的东西)是如何编写C++的“好”例子吗

Linux内核(或其他低级的东西)是如何编写C++的“好”例子吗
EN

Stack Overflow用户
提问于 2009-01-14 00:51:02
回答 9查看 2.5K关注 0票数 5

遵循“C的最佳用法是什么”的问题。

Linux内核似乎是一个著名的、被认为是非常优秀的C程序。但它是主流“最佳实践”C语言的一个很好的例子吗?

EN

回答 9

Stack Overflow用户

发布于 2009-01-14 03:59:05

我已经为此准备好了,但是Linux内核是一个学生项目,已经失控了。更严重的是,从编程的角度来看,Linux内核做得很好的是制定了一套非常严格的设计和编码指南,使大量的人能够在做出贡献的同时将所有东西都整合在一起。

我信任的那些毕生致力于操作系统的人告诉我,BSD内核是优秀的C编程和优秀的操作系统设计的一个更好的例子。我对伯克利的教授有足够的了解,所以我对这种说法并不感到惊讶。

更广泛地说,操作系统内核是高度专业化的东西-没有关于内核的主流。如果你想要好的C实践的例子,你可以试试Kernighan和Pike在The Practice of Programming上的书。或者,如果你想研究一个真实的系统,implementation of Lua足够小,你可以阅读它,设计得非常好,而且非常便携-可以在任何使用ANSI编译器的平台上运行。

对于主观和争辩的回答,我深表歉意:

票数 18
EN

Stack Overflow用户

发布于 2009-01-14 00:56:10

你说的好例子是什么意思?我相信Linux内核是一个用C写得很好的内核,但也有一些问题,其中许多问题正在清理中。但是,就使用它作为如何编写通用C代码的示例而言,我认为它不太适合。阅读和理解内核会让你学到很多关于C语言的知识,但你在内核中找不到的是任何可以提及的库。标准库不可用。例如,您将看到"printk“而不是"printf”等等。也有一些黑魔法。内核是一个非常特殊的情况。我不会使用它来寻找最佳实践,比方说,如果你正在编写一些通用的应用程序,比如文件管理器或数据库。

票数 16
EN

Stack Overflow用户

发布于 2009-01-14 00:55:27

是的,是这样的。

如果您不想被内核的细节搞得不知所措,可以从用C编写的一些Linux实用函数开始。有关如何获取源代码的详细信息,请参阅对this question的回答。

另一个阅读C源代码的好地方是C自己的Standard Library

最后,还有一个最近的C项目,我听说它很不错,那就是Git

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/441505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档