linux内核命令开发 linux内核开发语言( 二 )


5. 查阅英文技术文档
如果想深入学习Linux,查阅英文技术文档是十分必要的,往往最新的技术都是采用英文文档的方式发布的 , 而且更全面 , 因此,对于Linux人员来说,多看一些Linux技术文档,对于掌握前沿技术和加深知识是十分有必要的!
如何参与linux 内核开发如何参与Linux内核开发
【linux内核命令开发 linux内核开发语言】---------------------
这是一篇将如何参与Linux内核开发的相关问题一网打尽的终极秘笈 。它将指导linux内核命令开发你
成为一名Linux内核开发者,并且学会如何同Linux内核开发社区合作 。它尽可能不
包括任何关于内核编程的技术细节,但会给你指引一条获得这些知识的正确途径 。
如果这篇文章中的任何内容不再适用,请给文末列出的文件维护者发送补丁 。
入门
----
你想了解如何成为一名Linux内核开发者?或者老板吩咐你“给这个设备写个Linux
驱动程序”?这篇文章的目的就是教会你达成这些目标的全部诀窍 , 它将描述你需
要经过的流程以及给出如何同内核社区合作的一些提示 。它还将试图解释内核社区
为何这样运作 。
Linux内核大部分是由C语言写成的,一些体系结构相关的代码用到了汇编语言 。要
参与内核开发,你必须精通C语言 。除非你想为某个架构开发底层代码 , 否则你并
不需要了解(任何体系结构的)汇编语言 。下面列举的书籍虽然不能替代扎实的C
语言教育和多年的开发经验,但如果需要的话,做为参考还是不错的linux内核命令开发:
- "The C Programming Language" by Kernighan and Ritchie [Prentice Hall]
《C程序设计语言(第2版·新版)》(徐宝文 李志 译)[机械工业出版社]
- "Practical C Programming" by Steve Oualline [O'Reilly]
《实用C语言编程(第三版)》(郭大海 译)[中国电力出版社]
- "C:A Reference Manual" by Harbison and Steele [Prentice Hall]
《C语言参考手册(原书第5版)》(邱仲潘 等译)[机械工业出版社]
Linux内核使用GNU C和GNU工具链开发 。虽然它遵循ISO C89标准,但也用到了一些
标准中没有定义的扩展 。内核是自给自足的C环境 , 不依赖于标准C库的支持,所以
并不支持C标准中的部分定义 。比如long long类型的大数除法和浮点运算就不允许
使用 。有时候确实很难弄清楚内核对工具链的要求和它所使用的扩展,不幸的是目
前还没有明确的参考资料可以解释它们 。请查阅gcc信息页(使用“info gcc”命令
显示)获得一些这方面信息 。
请记住你是在学习怎么和已经存在的开发社区打交道 。它由一群形形色色的人组成,
他们对代码、风格和过程有着很高的标准 。这些标准是在长期实践中总结出来的,
适应于地理上分散的大型开发团队 。它们已经被很好得整理成档 , 建议你在开发
之前尽可能多的学习这些标准,而不要期望别人来适应你或者你公司的行为方式 。
法律问题
--------
Linux内核源代码都是在GPL(通用公共许可证)的保护下发布的 。要了解这种许可
的细节请查看源代码主目录下的COPYING文件 。如果你对它还有更深入问题请联系
律师,而不要在Linux内核邮件组上提问 。因为邮件组里的人并不是律师,不要期
望他们的话有法律效力 。
对于GPL的常见问题和解答,请访问以下链接:
文档
----
Linux内核代码中包含有大量的文档 。这些文档对于学习如何与内核社区互动有着

推荐阅读