查看: 3714|回复: 4

学习嵌入式linux需要看的书

  [复制链接]
  • TA的每日心情
    开心
    2015-1-1 01:21
  • 签到天数: 354 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-1-8 00:56:47 | 显示全部楼层 |阅读模式
    分享到:
    首先先学学编辑器,vim, emacs 什么的都行。

    然后学 make file 文件,只要知道一点就行,这样就可以准备编程序了。  

    然后看看《C 程序设计语言》K&R,这样呢,基本上就可以进行一般的编程了,顺便找本数据结构的书来看。  

    如果想学习 UNIX/LINUX 的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。

    然后再看 Douglus E. Comer 的《用 TCP/IP 进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用的技巧就很熟悉了,如果继续网络编程,建议看《TCP/IP 进行网际互连》的第三卷,里面有很多关于应用协议 telnet、ftp 等协议的编程。如果想写设备驱动程序,首先您的系统编程的接口比如文件、IPC 等必须要熟知了,再学习《LDD》2。

    对于几本经典教材的评价:  《The C Programing Language》K&R 经典的 C 语言程序设计教材,作者是 C 语言的发明者,教材内容深入浅出。虽然有点老,但是必备的一本手册,现在有时候我还常翻翻。篇幅比较小,但是每看一遍,就有一遍的收获。另外也可用谭浩强的《C 语言程序设计》代替。  

    《Advanced Programing in Unix Envirement》 W.Richard Stevens:也是非常经典的书(废话,Stevens 的书哪有不经典的!),虽然初学者就可以看,但是事实上它是《Unix Network Programing》的一本辅助资料。国内的翻译的《UNIX 环境高级编程》的水平不怎么样,现在有影印版,直接读英文比读中文来得容易。  

    《Unix Network Programing》W.Richard Stevens:第一卷讲 BSD Socket 网络编程接口和另外一种网络编程接口的,不过现在一般都用 BSD Socket,所以这本书只要看大约一半多就可以了。第二卷没有设计到网络的东西,主要讲进程间通讯和 Posix 线程。所以看了《APUE》以后,就可以看它了,基本上系统的东西就由《APUE》和《UNP》vol2 概括了。看过《UNP》以后,您就会知道系统编程的绝大部分编程技巧,即使卷一是讲网络编程的。国内是清华翻译得《Unix 网络编程》,翻译者得功底也比较高,翻译地比较好。所以建议还是看中文版。

      《TCP/IP 祥解》一共三卷,卷一讲协议,卷二讲实现,卷三讲编程应用。我没有怎么看过。,但是据说也很经典的,因为我没有时间看卷二,所以不便评价。

    《用 TCP/IP 进行网际互连》Douglus.E.Comer 一共三卷,卷一讲原理,卷二讲实现,卷三讲高级协议。感觉上这一套要比 Stevens 的那一套要好,就连 Stevens 也不得不承认它的第一卷非常经典。事实上,第一卷即使你没有一点网络的知识,看完以后也会对网络的来龙去脉了如指掌。第一卷中还有很多习题也设计得经典和实用,因为作者本身就是一位教师,并且卷一是国外研究生的教材。习题并没有答案,留给读者思考,因为问题得答案可以让你成为一个中级的 Hacker,这些问题的答案可以象 Douglus 索取,不过只有他只给教师卷二我没有怎么看,卷三可以作为参考手册,其中地例子也很经典。如果您看过 Qterm 的源代码,就会知道 Qterm 的 telnet 实现部分大多数就是从这本书的源代码过来的。对于网络原理的书,我推荐它,而不是 Stevens 的《TCP/IP 祥解》。  

    《Operating System ­ Design and Implement》这个是讲操作系统的书,用 Minix 做的例子。作者母语不是英文,所以英文看起来比较晦涩。国内翻译的是《操作系统设计与实现》,我没看过中文版,因为翻译者是尤晋元,他翻译的《APUE》已经让我失望头顶了。读了这本书,对操作系统的底层怎么工作的就会有一个清晰的认识。  

    《Linux Device Driver》2e ,为数不多的关于 Linux 设备驱动程序的好书。国内翻译的是《Linux 设备驱动程序》第二版,第一版,第二版的译者我都有很深的接触,不过总体上来说,虽然第二版翻译的有些不尽人意,但是相比第一版来说已经超出了一大截。要读这一本书,至少应该先找一些《计算机原理》《计算机体系结构》的书来马马虎虎读读,至少应该对硬件和计算机的工作过程有一些了解。

    不是我写的。

    个人有一些建议,程序员的自我修养可以看看,



    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-7-16 09:10
  • 签到天数: 361 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-1-8 08:24:32 | 显示全部楼层
    沙发,收下了,留着备用{:soso_e113:}
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-1-1 01:21
  • 签到天数: 354 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-1-8 20:02:27 | 显示全部楼层
    ht868788 发表于 2013-1-8 09:35
    linux不好学啊

    所以学了才有用!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-15 09:28
  • 签到天数: 222 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2013-2-18 10:52:42 | 显示全部楼层
    好多书,学习要刻苦啊!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2013-9-24 22:27:52 | 显示全部楼层
    强帖终于出现,要顶的啊,谢谢楼主
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-12 10:52 , Processed in 0.156244 second(s), 24 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.