哪些tutorails可以帮助理解与C的硬件交互

时间:2011-07-09 20:15:48

标签: c data-structures programming-languages

我想学习Linux内核中使用的核心c编程,但是当我阅读这些内容时,一切都在我的脑海里。我无法理解他们使用指针指针功能的代码和数据结构。这一切都让我很困惑。我已经尝试了很长时间,但我无法找到一个资源,其中有人已经完整地记录了解释每行代码的硬件交互代码。

任何人都可以指出我正确的方向我应该怎么去

2 个答案:

答案 0 :(得分:1)

你有两个问题:理解一些相当复杂的语言结构:指向函数指针的指针我猜可能只是一小部分,我敢打赌,当你有多个控制线程时,会发生一些更为粗糙的事情。然后是应用这些技术的问题域 - 真正低级别的东西与硬件交互。

你希望同时学习这两件事可能是不现实的。举一个类比,想象一下,要求一些东西来逐行解释莎士比亚的戏剧(威尼斯商人),对于既不会说英语又不懂贷款或法律制度概念的人。

我的建议:详细研究C编码直到你理解如何使用函数指针,更重要的是为什么你使用它们,如何编写多线程代码,为什么你需要这样的概念一个叛变和sempahores。然后还阅读了关于低级编程的一般原则,例如Deitel & Deitel涵盖了很多关于OS开发的资料。

答案 1 :(得分:0)

通过阅读本书(免费),我学到了很多关于编写模块的知识:http://lwn.net/Kernel/LDD3/

这是对内核开发的一个非常容易理解的介绍。

您可能还想查看这篇旧文章: http://cm.bell-labs.com/cm/cs/who/dmr/cacm.html

它非常简洁地解释了Unix中的概念,可以帮助您保持简单。