C语言
0.《C语言大全第四版》
作者: 赫伯特・希尔特
译者: 王子恢 戴健鹏 等
出版社: 电子工业出版社
出版年: 2001-9-1
页数: 560
定价: 48.00
装帧: 平装(无盘)
ISBN: 9787505369153
说明:之所以我定为第0本,是因为这本完全适合零基础的,另外这本书买不到了,虽然计算机更新换代很快,但是C永远不会淘汰,最起码20年内还不会。
入门书籍比较老了 2001年的 有电子版的 讲的比较全 也很好懂 需要注意不要下载错了!
——————————————————————————————————————————————————————
1.《C Primer Plus》
副标题: Primer Plus
作者: Stephen Prata / 云巅工作室
译者: 云巅工作室
出版社: 人民邮电出版社
出版年: 2005-2
页数: 626
定价: 60.00元
装帧: 平装
ISBN: 9787115130228
说明:经典的入门书。书很厚,近700页,却不没有让我觉得任何的烦琐。
——————————————————————————————————————————————————————
2.《C和指针》(一定要看,如果只买一本C的书那么就是这本)
作者: Kenneth A.Reek
译者: 徐波
出版社: 人民邮电出版社
出版年: 2008 年4月
页数: 448
定价: 65.00
装帧: 平装
ISBN: 9787115172013
说明:入门后提高的书,也可以当入门书,但是这本书其实有一定的深度,所以不推荐做第一本!
这本书最大的特点就是和指针结合在一起进行讲解。这是最经典的一本我觉得。
——————————————————————————————————————————————————————
3.《C程序设计语言(第2版·新版)》
作者: 克尼汉
译者: 徐宝文
出版社: 机械工业出版社
出版年: 2004-1
页数: 258
定价: 30.00元
装帧: 平装
ISBN: 9787111128069
说明:同名的太多,一定不要买国内的!这本书作者是C语言之父。所以推荐这本书不需要太多的理由吧。
入门后提高的书,也可以当入门书。数很薄但精简,内容详实,值得一读。
—————————————————————————————————————————————————————
4.《C 陷阱与缺陷》
作者: Andrew Koenig
译者: 高巍
出版社: 人民邮电出版社
出版年: 2008-2
页数: 172
定价: 30.00元
装帧: 平装
ISBN: 9787115171795
说明:提高的书。这本书虽然著于1989年,但其中的要点却不过时,讲的全是C语言的精华,已经第18次印刷了,多本书里提到这本书。书很薄。
————————————————————————————————————————————————————
5.《C专家编程》
说明:提高版,和.《C和指针》.《C 陷阱与缺陷》是一个系列。
———————————————————————————————————————————————————
6《你必须知道的495个C语言问题》
作者: Steve Summit
出版社: 人民邮电出版社
出版年: 2009-2
页数: 260
定价: 45.00元
装帧: 平装
丛书: 图灵程序设计丛书
ISBN: 9787115194329
说明:这本书讲的都是技巧总结,都是经常遇到的一些容易混淆的问题。
———————————————————————————————————————————————————
7.《数据结构与算法分析:C语言描述(原书第2版)》
副标题: C语言描述
作者: 维斯
译者: 冯舜玺
出版社: 机械工业出版社
出版年: 2004-1
页数: 391
定价: 35.00元
装帧: 平装
ISBN: 9787111127482
说明:学好基础以后,还需要看看算法数据结构的书。
里面的分析数学公式恰到好处,没有算法导论的令人望而生畏,也没有国内图书的草草了事,既学习了数据结构又有刚刚好的算法分析,很容易使人产生共鸣。
————————————————————————————————————————————————————
8.《数据结构(C语言版)》
—————————————————————————————————————————————————————
C++
—————————————————————————————————————————————————————
作者:(美)戴特尔(Deitel,H.M) 著
出版社:电子工业出版社
图书的封面如下:
个人评论:这本书风格严谨,编码规范,虽然内容多,但很有条理,书中对一些语法不仅阐明了“是什么,怎么用”的问题,难能可贵的是也阐明了“为什么”的问题。这本书应当作为大家的主要入门教材阅读,在阅读中也要多思多虑。
—————————————————————————————————————————————————————
2、《C++编程思想 第一卷:标准C++导引》
作者:Bruce Eckel
出版社:机械工业出版社
图书的封面如下:
个人评价:这本书在原理方面比《C++大学教程》更为透彻,内容更为详尽,不过对于语法讲的并不很细,所以阅这本书之前,最好先阅读《C++大学教程》。另外此书虽好,但翻译的有一些错误,尤其一些较为低级的错误使原著暗淡了不少,不过如果阅读过《C++大学教程》可以比较容易的甄别这些错误。
—————————————————————————————————————————————————————
3、《C++编程风格》
作 者: (美)米斯菲尔特,(美)布姆加德纳,(美)格雷 著,罗小平 译
出 版 社: 人民邮电出版社
图书的封面如下:
个人评价:这本书是程序员经验的结晶,内容条目精辟,切中要害,但只有动手写过代码的人才能品咂出其中滋味,建议在学完第一遍C++后阅读,你肯定会赞叹作者的睿智。
—————————————————————————————————————————————————————
4、《Essential C++》
作者:StanleyB.Lippman 侯捷译
出版社:华中科技大学出版社
图书的封面如下:
个人评价:内容精辟,只对C++的重点内容做详细讲解,其中的模板部分相当精彩,建议作为《C++大学教程》的辅助参考教程。
—————————————————————————————————————————————————————
5 《c++ primer plus》
作 者: [美]普拉塔(Prata,S.) 著,孙建春,韦强 译
出 版 社: 人民邮电出版社
个人评价:代码图片穿插非常恰当,几乎没有长片的文字堆积,比C++ primer简单点
—————————————————————————————————————————————————————
—————————————————————————————————————————————————————
《C++ Primer》
作者:Stanley B.Lippman
图书封面如下:
个人评价:本书是久负盛名的C++经典教程引,其内容是C++大师Stanley B. Lippman丰富的实践经验和C++标准委员会原负责人Josée Lajoie对C++标准深入理解的完美结合,已经帮助全球无数程序员学会了C++。C++ Primer在编写的顺序上追求突破,而且花了一章的篇幅在前段就详细介绍了STL。是一本经典书籍,我认为有时间一定读。
—————————————————————————————————————————————————————
《The c++ Programming Laungane》
作者:Bjarne Stroustrup C++鼻祖
翻译:裘宗燕
图书封面:
个人评价:没什么说的,必须读。
Linux网络编程
首先要说讲述TCP/IP的书很多,其中有3泰书很全。
分别是《TCP/IP详解》三卷本,《用TCP/IP进行网际互连》三卷本,《TCP/IP指南》+《IPv6》四卷本
其中TCP/IP详解的作者还写了另外2本经典著作,《Unix环境高级编程》,《Unix网络编程》
作者W.Richard Stevens个人网站 http://www.kohala.com/
大师作品部部经典,可惜1999年去另一个世界维护Unix了。。。。。。。。。
说明:搞Linux网络编程的,想学TCP/IP的一定要看大师W.Richard Stevens这六本书,基本上六本书看完基础也就搭好了。
W.Richard Stevens(1951-1999),国际知名的UNIX和网络专家,受人人尊敬的作家。他的著作有《UNIX网络编程》(两卷本),《UNIX网络高级编程》,《TCP/IP详解》(三卷本)等,同时他还是广受欢迎的教师和顾问。
Stevens先生1951年生于赞比亚,早年,他就读于美国弗吉尼亚州的费什本军事学校,后获得密歇根大学学士、亚利桑那大学系统工程硕士和博士学位。他曾就职于基特峰国家天文台,从事计算机编程。
Stevens先生不幸病逝于1999年9月1日,他的离去是计算机界的巨大损失。
W. Richard Stevens对我们这些学习Unix/Linux的程序员的影响是巨大的,每每捧读老先生的书都会被感动,不仅被他那丰富的知识所折服,更是被他那一丝不苟,严谨治学的态度所倾倒。“他不清楚的,他下决心要弄明白。他知道的,他要努力传授给所有感兴趣的人们!”这就是我们的Stevens!一生能有其一部力作可谓无憾矣!而况七部乎?
一位朋友说:“Stevens的书一定要全部认真地去读的。”我想他是对的。最后,对Stevens在天英灵说声:谢谢您!想必这时他正坐在上帝身边,继续从事他的写作。
W. Richard Stevens Biography
http://www.kohala.com/start/bio1.html
W. Richard Stevens' Home Page
http://www.kohala.com/start/
W. Richard Stevens on Wikipedia
http://en.wikipedia.org/wiki/W._Richard_Stevens
Guru of the Unix gurus
http://archive.salon.com/tech/feature/2000/09/01/rich_stevens/index.html
----------------------------------------------------------------------------------------------------------------------------------------------------------------
《用TCP/IP进行网际互连第一卷:原理、协议与结构(第五版)》
《用TCP/IP进行网际互连第二卷——设计、实现与内核》
《用TCP/IP进行网际互连第三卷:客户-服务器编程与应用(Linux/POSIX套接字版)》
说明:这个系列也是三卷本,和《TCP/IP详解》三卷本一样也是经典,区别是 网际互联 偏重理论而 详解偏重实际。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
如果你看了上面2套TCP/IP的书6本还不尽兴,还有一套书可以作为提高或者查缺补漏
虽然与W.Richard Stevens TCP/IP详解 有一定的差距,但仍不失为下一代IPv6网络的参考工具书,值得收藏学习
----------------------------------------------------------------------------------------------------------------------------------------------------------------
《TCP/IP协议原理与应用(第3版)》
写的非常好,建议一定要买!可作入门,但即使是高手,也应看看,学习作者分析问题的方法和思想。其实是无数次印刷了,经典不能错过。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
《TCP/IP高效编程 : 改善网络程序的44个技巧》
很明显属于技巧类的书,同样这本书很老,但是还是很有参考价值,这本书中大量出现Unix网络编程的提示,可以作为其补充。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
《TCP/IP架构、设计及应用(Linux版)》
谈不上经典,可以补充阅读
----------------------------------------------------------------------------------------------------------------------------------------------------------------
《linux网络体系结构:linux内核中网络协议的设计与实现》
出版社: 清华大学出版社
装帧: 平装
出版年: 2006-7
又名: The Linux Network Architecture: Design and Implementation of Network Protocols in the Linux Kernel
书名: Linux网络体系结构
说明:翻译的很不好,建议看原版,可以下电子版。
一本在kernel实现网络功能的基础书籍,最好还是看英文版的,翻译的实在太烂了。有条件的还是看原版吧,没办法啊,中国的此类书籍基本上落后老美3-4年。结合linux源代码分析一书收获更多。一并把内核结构和各功能在内核中的关系也搞清楚了。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Linux内核
关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。
Linux Kernel 四库全书
1. Linux内核设计与实现 Edition 2
2. Linux设备驱动 Edition 3
3. Linux内核源代码情景分析
4. 深入理解Linux内核(第三版)
1.《Linux内核设计与实现》
本书重在原理。适合入门的最佳图书。作者是为2.6内核加入了抢占的人,对调度部分非常精通,而调度是整个系统的核心,因此本书是很权威的。
此书比上一本多了些细节。是Linux内核黑客在推荐图书时的首选。写的比较简单易懂,适合刚刚接触LINUX内核的。
此书图表很多,形象地给出了关键数据结构的定义,与《Linux内核源代码情景分析》相比,本书内容紧凑,不会一个问题讲解动辄上百页,有提纲挈领的功用,但是深度上要逊于《Linux内核源代码情景分析》。
这书强调动手实践!但它是讲解“设备驱动”的,不是最核心的东西,而且有些东西没硬件的话无法实践,可能更适合驱动开发的程序员吧
其中关于同步与互斥、内存分配的部分,感觉很不错。
4.《Linux内核源代码情景分析》
书很好,很经典,是浙大教授毛德操写的,可惜成书于2001年之后一直没有更新。分上下册。
很多是基于2.4内核讲解的需要注意。如果学习的话也建议学习2.6,2.6跟2.4比发生了很多显著改善,应该学习的。
全书内容博大精深,不是非常好懂,对细节问题描述比较清晰。但是感觉对内核的整体感觉不够强。另外缺少网络部分的分析。觉得不是很适合初学者。
上册讲解内存管理、中断、异常与系统调用、进程控制、文件系统与传统Unix IPC;下册讲解socket、设备驱动、SMP和引导。
本书基于Intel IA32体系,由于厚度大,很多体系上的知识都捎带讲解了,所以如果你想深入了解内核的工作机制而又不非常熟悉Intel CPU的体系构造,本书是最合适的。
===================================================
扩充阅读:
5. 《LINUX KERNEL技术手册》
参考手册,很薄,值得一看。
6.《深入Linux内核架构》
这本书针对的是比较新的内核版本2.6.24;内容比较全面,深入浅出。
如果没有对Linux内核的初步结构的认识,那么会看得比较吃力。 建议可以一边去翻在国内已经闻名已经久的四本Linux内核著作(《Linux内核原代码情景分析》、《Linux内核设计与实现》、《深入理解Linux内核》、《Linux设备驱动程序》),再一边看这本书,把这本书当作一个补充或者当作一个内核框架图谱说明书来阅读,收效会更好。
7.《Linux内核完全注释》
此书出自同济一个博士--赵炯。
本书作者赵炯谈《Linux内核完全注释》和《Linux内核源代码情景分析》..
主要描述和注释了Linux 0.11内核全部源代码。对于初学Linux内核操作系统的人来讲,该书能够引领读者快速入门,并且能全面了解一个简单操作系统的工作机理。对于进一步学习现在的Linux内核具有非常大的指导作用。对于学习嵌入式应用的技术人员来讲,通过《完全注释》一书的学习也能迅速融入嵌入式应用领域。同样,该书也能作为阅读现代Linux内核源代码的一本参考手册使用。由于该书是对代码逐条进行注释的,因此也能作为深入学习C语言编程的参考书。另外,该书不仅配备有完整的Linux 0.11系统试验环境,而且本人还在一年前就在网上专门建立了一个针对该书的网站“www.oldlinux.org”,专门开辟了一个讨论该书所涉及的Linux内核实现的论坛。目前该网站的内容已经被权威Linux内核发布网站www.kernel.org全部作了镜像(mirrors.kernel.org)。
http://oldlinux.org/index_cn.html
网站宗旨:
收集Linux从酝酿到开发初始版本有关的所有资料和信息(1991-1995);
重新建立起最古老的Linux可运行系统,这些系统在其它地方很难再找到了;
为初学者提供一个学习Linux内核基本工作原理的最简单方法。
本书新版:《Linux内核完全剖析--基于0.12内核》
2009年出的,很厚。
8.《Orange S:一个操作系统的实现》
作者:于渊
出版社: 电子工业出版社; 第1版 (2009年6月1日)
本书第一版2005年出版,这是第二版。
从只有二十行的引导扇区代码出发,一步一步地向读者呈现一个操作系统框架的完成过程。
_________________________________________________________________________