当前位置: 技术问答>linux和unix
《LINUX设备驱动程序》怎么读
来源: 互联网 发布时间:2016-12-23
本文导语: 一个月之前卖了一本LDD回来,想接触一下“神奇的”内核世界。 但这本书说得实在是太枯燥了(虽然它的确是好书) 更重要的是:书上的源码竟然通不过编译(因为内核的版本号不同,我的内核版本太高了) (scull...
一个月之前卖了一本LDD回来,想接触一下“神奇的”内核世界。
但这本书说得实在是太枯燥了(虽然它的确是好书)
更重要的是:书上的源码竟然通不过编译(因为内核的版本号不同,我的内核版本太高了)
(scull倒是成功编译了,因为网上有它的错误修改报告)
有时真的怀念谭浩强先生了,虽然他的书的自带源码也通不过编译,但它的例子足够简单,上网一问就能改好,而LDD最短的那个例子都有几百行,而且每个人的内核版本都不同,搞到我想上网问一下别人怎么改都不知从哪问起?
所以我想问一下:大家是怎么读这本书的呢?
PS:说来惭愧,我现在在公司里,也是所谓的“驱动工程师”,但我只是用libusb库处理PC机与外部硬件的通信,然后用QT做界面,这种“驱动”好像与LDD所说的内容没有什么关系啊。。。
但这本书说得实在是太枯燥了(虽然它的确是好书)
更重要的是:书上的源码竟然通不过编译(因为内核的版本号不同,我的内核版本太高了)
(scull倒是成功编译了,因为网上有它的错误修改报告)
有时真的怀念谭浩强先生了,虽然他的书的自带源码也通不过编译,但它的例子足够简单,上网一问就能改好,而LDD最短的那个例子都有几百行,而且每个人的内核版本都不同,搞到我想上网问一下别人怎么改都不知从哪问起?
所以我想问一下:大家是怎么读这本书的呢?
PS:说来惭愧,我现在在公司里,也是所谓的“驱动工程师”,但我只是用libusb库处理PC机与外部硬件的通信,然后用QT做界面,这种“驱动”好像与LDD所说的内容没有什么关系啊。。。
|
这本书我大概读了两遍,确实是本好书!
第一遍看就像赶进度,只图快,结果看完没啥感觉。然后过了几个月,又看第二遍,理解就自然不一样了。
关于例子的部分错误,参考下面的网址
http://www.cs.fsu.edu/~baker/devices/lxr/source/2.6.25/ldd-examples/
关于如何学习这本书,参考这个牛人的笔记,
http://blog.chinaunix.net/space.php?uid=20543672&do=blog&frmd=6418&view=me
|
装redhat9,把内核升级到2.6.10,所有例子就能过去了,然后慢慢调试吧
|
linux程序功底如何呀?硬件知识的功底如何呀?如果都不踏实,先去补补把。
看起来无聊,是不是这也不懂,那也不懂呀~ 可能是基础不踏实把
啃技术类的大部头有个方法,先大概的看,摸到整部书把所有知识点贯通的一条线,只要摸到了,细节部分用到了再去查就可以了
所谓的线,就是风格,问题解决的思路,操作的流程,心里的一种感觉:虽然具体怎样不大清楚,但脱离不了那几个条条框框,你说个问题,虽然不能当场解决,但是我知道在书的那一块。
还有那个谭浩强,我跟你说,他的C++水平还没你高呢。他是学自动化的,会英语,文革期间搞政治的,文革结束后没了活路,偶然得了国外basic语言的英文本,他就干起翻译来了,此后拉大旗做虎皮,带起研究生博士生,专门搞翻译,现在C++的书基本是他学生翻译的,他什么也不会的。之前有位从事C++开发十几年的大牛,仰慕他很久,借着他一次报告(照本宣科)的机会,问他一些很深的问题,他一律拒绝回答。
看起来无聊,是不是这也不懂,那也不懂呀~ 可能是基础不踏实把
啃技术类的大部头有个方法,先大概的看,摸到整部书把所有知识点贯通的一条线,只要摸到了,细节部分用到了再去查就可以了
所谓的线,就是风格,问题解决的思路,操作的流程,心里的一种感觉:虽然具体怎样不大清楚,但脱离不了那几个条条框框,你说个问题,虽然不能当场解决,但是我知道在书的那一块。
还有那个谭浩强,我跟你说,他的C++水平还没你高呢。他是学自动化的,会英语,文革期间搞政治的,文革结束后没了活路,偶然得了国外basic语言的英文本,他就干起翻译来了,此后拉大旗做虎皮,带起研究生博士生,专门搞翻译,现在C++的书基本是他学生翻译的,他什么也不会的。之前有位从事C++开发十几年的大牛,仰慕他很久,借着他一次报告(照本宣科)的机会,问他一些很深的问题,他一律拒绝回答。