Programming languages 用C从初学者到专家的内核编程

Programming languages 用C从初学者到专家的内核编程,programming-languages,kernel,Programming Languages,Kernel,您好,我是内核编程新手,我想请您回答我如何以及需要多少时间才能自信地开始使用代码和含义。 我列出了一些问题,它们也是我的目标。如果不是全部,请回答其中任何一个问题 1.为了能够理解代码和源代码的一般概念,我想评估一下自己对C的了解程度。 我如何评估自己以找到我的C语言编程技能水平 我读过K&R,但对指针和结构还没有真正的理解。当我是认真的时候,我的意思是我还不能很容易地理解源代码 在哪里我可以找到谜题,项目,以获得真实世界的经验 为了巩固我在C编程方面的知识,你推荐什么书 成为一名称职的程

您好,我是内核编程新手,我想请您回答我如何以及需要多少时间才能自信地开始使用代码和含义。 我列出了一些问题,它们也是我的目标。如果不是全部,请回答其中任何一个问题

1.为了能够理解代码和源代码的一般概念,我想评估一下自己对C的了解程度。
  • 我如何评估自己以找到我的C语言编程技能水平
我读过K&R,但对指针和结构还没有真正的理解。当我是认真的时候,我的意思是我还不能很容易地理解源代码

  • 在哪里我可以找到谜题,项目,以获得真实世界的经验

  • 为了巩固我在C编程方面的知识,你推荐什么书

  • 成为一名称职的程序员需要多长时间(如果我还不是呢?)

  • 专家
  • 专业的
  • 胜任
  • 高级初学者
  • 新手
一本书或链接的路径很好地解释了时间和技能水平的顺序,这将是伟大的

2.我希望能够使用代码并创建一些新代码,以便对内核进行实验。
  • 一本书或链接的路径,面向内核,在时间和技能级别的顺序上解释得很好,这将是非常有帮助的
  • 一些建议的邮件列表和通讯
  • 成为一名称职的内核程序员需要多长时间
(有关技能水平,请参见上面的列表)

3.关于 那些子对象?
这些可能有助于你实现目标:

  • C语言
  • 理解Linux内核
  • Linux设备驱动程序
也许你应该先从内核以外的东西开始。以任何用C编写的开源项目为例,获取源代码,尝试修复开放bug或实现缺失的功能。这会教你很多关于C的知识,你会得到关于你所写代码的反馈


一旦你精通C语言,你就可以开始深入研究内核源代码了。

这些可能会帮助你达到目的:

  • C语言
  • 理解Linux内核
  • Linux设备驱动程序
也许你应该先从内核以外的东西开始。以任何用C编写的开源项目为例,获取源代码,尝试修复开放bug或实现缺失的功能。这会教你很多关于C的知识,你会得到关于你所写代码的反馈


一旦你精通C,你就可以开始深入研究内核源代码了。

我的论文选择了Linux内核可移植性这一主题,我有6个月的时间来完成它。我之所以选择它,是因为我想知道更多。因此,如果我必须精通C,我的水平可以做到吗?@siropio:考虑到你的自我描述,你绝对没有资格进行内核编程,或者理解内核编程。你需要学习更多的C语言,显然你应该做得这么快。我已经为我的论文选择了Linux内核可移植性这一主题,我有6个月的时间来完成它。我选择它是因为我想知道更多。所以如果我必须流利地掌握C语言的水平,这是可以做到的?@siropio:根据你的自我描述,你绝对没有资格进行内核编程,或者理解内核编程。你需要学习更多的C语言,显然你应该学得这么快。这太过分了。你可以问关于学习C的问题,但我建议你先搜索一下,因为可能有很多这样的问题。您可以询问有关学习内核的问题(尽管您确实需要先熟悉结构和指针)。在一个问题中问这两个问题是过分的。是的,但一个问题的答案与另一个问题相关,因此如果我没有将它们结合起来,答案就不会像你现在回答我知道我的目标那样相关。而且,即使你只在其中一个问题上帮助我,它仍然是非常明确的:)谢谢你的时间和你的观点这是一条过火的路。你可以问关于学习C的问题,但我建议你先搜索一下,因为可能有很多这样的问题。您可以询问有关学习内核的问题(尽管您确实需要先熟悉结构和指针)。在一个问题中问这两个问题是过分的。是的,但一个问题的答案与另一个问题相关,因此如果我没有将它们结合起来,答案就不会像你现在回答我知道我的目标那样相关。而且,即使你只在其中一个问题上帮助我,它仍然是非常明确的:)谢谢你的时间和你的意见