做家:道哥,10+年嵌入式开垦老兵,潜心于:C/C++、嵌入式、Linux。
近来,有共事问我:假设从零发端学嵌入式软件开垦,有哪些好书值得举荐。
因而就花点工夫,把我感慨不错的一些好书整治了一下,在这边分享给众人!
即刻春节了,置备册本的电商都在打折促销,趁此机缘多拿下几本,终究浏览纸质的册本是电子版本弗成对比的。
假设您口袋中的银子未几,也也许参考文末的PDF电子版下载链接。
打算机系统
Linux系统
C说话
C++说话
汇编说话
嵌入式册本
PDF电子版下载
打算机系统第1本《深入明白打算机系统》9.8分!
编程人员理当人手一册的五星好书!
假设想通盘、深入的明白打算机系统,不要再找其余册本了,这一册就够了!
结尾,表彰一下出书社:纸张用的希奇好,并且是彩色印刷,关于这类大部头册本,浏览起来很和睦!
第2本《NULL》把第一册书再看几遍!
Linux系统Linux系统干系的册本就恒河沙数,并且有良多的细分周围。
关于嵌入式开垦来讲,须要依据自身的须要来取舍响应的细分周围和深度的册本来系统进修。
假设是从零发端,想对Linux有一个顺序渐进、由浅入深的进修,上面这5本书足矣,万万不要贪多!
假设是内核开垦、启动开垦、网络开垦等,那末反面有几本书也是很不错的。
第1本:《鸟哥的Linux私房菜》笃信良多小火伴在刚初学Linux的功夫,都市取舍鸟哥的Linux系列册本,由于实质讲授的果真是浅显易懂,统统便是站在小白的角度来讲授的,保母级的粒度、通盘而详细地引见了Linux职掌系统。
从装置职掌系统发端,引见文献系统、文献、目录与磁盘的治理;shell足本;文字编纂器vim;账号的治理,系统与程序的治理等等,一共根底实质一扫而空!
百般性能和夂箢的引见,都配以洪量的实例职掌和详细的剖析,是初学者进修Linux弗成多得的一册初学好书。
第2本:《UNIX处境高档编程(第3版)》or《Linux/UNIX系统编程手册》这明显是两本书,为甚么要放在一同举荐?
由于这两本书的定位是同样的,都因而Linux行使层的开垦为主,也许别离翻阅一下目录或部份章节,而后依据自身的须要和习惯来取舍个中的一册就也许了。
这本书被誉为UNIX编程“圣经”,我从前进修的功夫看的是第二版本(浅蓝色封面)。
书中除了引见UNIX文献和目录、准则I/O库、系统数据文献和讯息、里程处境、里程掌握、里程相干、记号、线程、线程掌握、守卫里程、百般I/O、里程间通讯、网络IPC、伪末端等方面的实质,还在此根底上引见了稠密行使实例,包罗怎么创造数据库函数库以及怎么与网络打印机通讯等。
本书的最大特征便是深度和通盘,适当一共条理UNIX/Linux程序员,也许做为手边的参考书。
这本书分为高低两册,重要以Linux行使层开垦为主,Linux系统编程中的关键观念讲授希奇精确!
实质包罗:高效读写文献,对记号、时钟和守时器的行使,创造里程、执路途序,编写平安的行使程序,行使posix线程技能编写多线程程序,创造和行使同享库,行使管道、动静队伍、同享内存和记号量技能来进上里程间通讯,以及行使套接字API编写网络行使等实质。
在浏览的通过中,假设碰到与打算机平台干系的实质不睬解时,也许查阅《深入明白打算机系统》这本书。
第3本:《当代职掌系统:道理与完成》这是年终版的“新书”,也就象征着书中的实质是跟得上期间的。
这本书并不是特地针对Linux职掌系统的,而是着眼于百般不同的职掌系统计划,把每一个职掌系统都要处置的性格题目实行笼统,来讲授罕见的计划思绪。
比如:职掌系统构造、内存治理、里程与线程、职掌系统调整、里程间通讯、同步原语、文献系统与储备、设置治理和系统假造化。
读这本书不要期望能取得详细的编程技能,单方感慨真本书最大的劳绩便是:站在一个更高的条理,以全部的角度来明白一个职掌系统包罗哪些模块,每一个模块的罕主张决计划是甚么。
对职掌系统的这些构造化模块有了更明晰的明白此后,再去看Linux内核干系的册本,就会有偏要点,懂得自身该去看甚么、怎样看。
第4本:《深入明白LINUX内核》Linux内核干系的册本,假设只举荐一册的话,那便是它了,Linuxkernel居家观光必备!
对Linux内核的讲授极度的详细,从代码的角度来明白职掌系统,初学者不意见直接看此书。
对Linux行使层的编程有了确定的阅历此后,再来进修这本书,劳绩会更大。
弱点:内核的版本有点老,跟今日罕用的Linux内核源码有良多不同。
这就要回到浏览这本书的目标了,正由于版本对照老,因此代码量也更少一些,关于进修Linux内核反而是有利益的。
掌握了低版本的内核代码,再反过来浏览最新的Linux内核代码,进修效率一定是不同样的。
其余,假设看这本书感到难度太大,也许取舍《linux内核计划与完成》这本书做为中央过渡一下。
第5本:《程序员的自我教养》单方感慨:这本书的豆瓣打分有点偏低了,怎样着也理当9分以上。
这本书重要引见系统软件的运转机制和道理,包罗Windows和Linux两个系统平台上。
一个行使程序在编译、链接和运转功夫所产生的百般事故。
包罗:代码指令是怎么保管的,库文献怎么与行使程序代码静态链接,行使程序怎么被承载到内存中并发端运转,动态链接怎么完成,C/C++运转库的劳动道理,以及职掌系统供应的系统效劳是怎么被移用的。
书中对承载、链接和库实行了深入浅出的分解,假设你须要协商动态链接库,那末这本书一定是跳不往时的,确定要读一下,激烈举荐!
第6本:《Linux设置启动程序》未几说,这也是一册典范册本,关于从事Linux启动开垦的小火伴来讲,是必备册本!
第7本:《深入明白LINUX网络黑幕》系统地表明了网络的根底观念,并指点你怎么用C说话完成。
同时形色了Linux网络的全貌,注解了Linux代码是怎么劳动的,重要网络特征的目标,网络通讯的重要题目,以及在不同处置计划间是怎么取舍的。
同时,本书还包罗了洪量的过程图和其余图表以扶助读者明白。
C说话第1本:《啊哈C说话》初学级别一册希奇风趣的编程启发书,灵便活跃的漫画和风趣风趣的文字,协做超萌的编程软件,由浅入深地陈述编程的思惟。
关于C说话初学的小火伴希奇和睦,最少不会让你的进修通过感慨很没趣。
第2本:《C说话程序计划-当代计划法子》中级假设只举荐一册C说话册本,我会举荐这一册!
这本书最大的特征便是:兼容了通盘性,并且有确定的深度。
每一个章节从说话层面发端,连续深入到系统移用层面,由浅入深的讲授每一个常识点。
在对照深入的部份,会提议一些希奇有启示性的题目来带领读者实行推敲。
我感慨这本书,不论关于刚投入C说话编程的初学者,或者关于劳动多年的大牛,都是值得一读的,也许对C说话的常识实行通盘的梳理。
假设您的劳动是Linux行使层开垦,那末这本书便是你协商C库、协商系统移用的前线。
第3本:《CPrimerPlus》中级我单方感慨,这本书与《C说话程序计划-当代计划法子》比拟,少了一些理论,多了一些践行职掌。
从难度上来讲,也轻微低那末一点点,因而也更适当刚初学C说话的初学者。
也许做为帮助讲义,和上一册书连合起来看,不须要重新到尾看一遍。
第4本:《C圈套与毛病》中高档这本书出书的年份对照早,然而既然在今日仍然收到招待,就表明它是一册典范册本!
这本书不是要攻讦C说话,而是要扶助C程序员绕过编程通过中的圈套和阻碍。
别离从词法剖析、语法语义、毗连、库函数、预管教器、可移植性毛病等几个方面剖析了C编程中或者碰到的题目。
在项目开垦通过中,假设能服从书中给出的一些规戒,那末在头领、共事的眼中,你确定是一个逻辑谨严、思惟周密、编程成就很深的编程老手!
C++说话C++说话广大渊博,也很恐惧。
Linus曾说过:“C++是一门很恐惧的说话,而比它更恐惧的是良多不及格的程序员在行使着它”。
假设你是C++初学者,万万不能抱着速成的心态去学,否则就堕入似懂非懂状况,这个状况是很危险的,写出的代码便是在给自身下套。
为了成为一个及格的C++程序员,须要在过失中归纳阅历教导,通过浏览C++典范好书和杰出的开源代码来磨炼自身。
连合我自身的开垦阅历,我只举荐上面这6本书:
提防:选书的功夫,确定要取舍依据C++11此后的准则来讲授的。假设是依据从前的旧准则来讲授,那末很或者一册书进修停止此后才发掘:白看了!
第1本:《C++PrimerPlus第6版华文版》(初学级)这本书主假如针对C++初学者来讲授的,假设说存在弱点的话,便是讲得太细了,很训练一单方的沉稳!
每一章都市标注出要点,并且对习题做了详细回答。
假设是初学者,有明白不了的处所,万万不要恋战,直接放往时。
进修完此后,唯有对C++有整个的观念便可,要把重要阅历放鄙人面的第2本书上,那才是真实的权势之做。
自然了,明白难度也会上一个台阶,Plus这本书不过开胃菜。
第2本:《C++Primer》(中高档)假设只可举荐一册书,绝对是这一册!
看看翻译和审校的声威就懂得这书值得占有,这本书在C++周围的权势名望也是弗成迟疑的!
C++巨匠StanleyB.Lippman的丰硕践行阅历,C++准则委员会原负责人JoséeLajoie对C++准则的深入明白,以及C++先驱BarbaraE.Moo在C++传授方面的远见卓识外,更是基于崭新的C++11准则实行了通盘而统统的实质革新。
其余,这本书不是读了一遍就也许的,而是要边读边做札记,放在手边做为参考册本。
碰到不懂、朦胧的观念,随时翻阅一下。三遍此后,C++功力倍增!
假设英文不错的话,也也许浏览英文原版。
第3、4本:《C++Primer》,《MoreEffectiveC++(华文版)》(高档)先看一下译者:侯捷师长,这然而台甫鼎鼎的C++册本翻译巨匠,在B站上,C++干系传授视频最佳的便是侯捷师长了(不采纳辩驳)。
他的视频含金量希奇高,会交叉良多单方对C++说话、准则的单方推敲。
再回到这两本书,有个颇驰名望的段子:C++程序员也许分为两类,读过EffectiveC++的和没读过的。
这两本书依据不同的主旨来精确的讲授一个常识点,有理论、有示例,关于一此中级C++开垦者,良多处所看不懂是很正常的。
关于初学者,仍然要把上头的两本书啃完此后,再来进修Effective系列会更有信念一些!
其余,这不是读完一遍就也许漠然置之的快餐读物,也不是用以处置手边题目的参考手册,而是须要你去屡屡浏览猜度的。
第5本:《深度谋求C++目标模子》(高档)进修任何一门编程说话,心中确定要有内存模子这个观念,也便是一个目标(包罗根底典型)在内存中是怎么布局的(也便是在内存中是怎么寄放的)。
明白了C++的目标模子,就会对一些艰涩的常识点,比如:虚表、多态等机制的底层完成会有更深入的明白。
这本书潜心于C++面向目标程序计划的底层机制,包罗构造式语意、且自性目标的生成、封装、接管,以及假造——假造函数和假造接管。
这本书让你懂得:一旦你也许明白底层完成模子,你的程序代码将获很何等大的效率。
假设你对C++底层机制感兴味,这本书确定会让你呐喊过瘾!
第6本:《C++准则库(第2版)》(初、中、高档)也是侯捷师长翻译的大做!
这本书详细讲授了每一准则库组件,包罗其计划目标和法子、繁杂观念的分解、有用而高效的编程细节、存在的圈套、急迫的类和函数,又辅以洪量用C++11准则完成的有用代码典型。
面临这本大部头,就不要期望重新到尾系统进修了,把它当做一册字典,做为参考书是最佳不过了,由于它果真太厚了!
汇编说话首先要明晰:进修汇编说话的目标是甚么!
进修目标不同,取舍的册本和须要掌握的水平也就不同。
关于嵌入式开垦来讲,汇编说话正常用在这几个局面:系统带领代码、启动程序、行使程序调优。
假设是是这个进修目方向话,上面这3本书就充分了。
第1本:《汇编说话(第4版)》(王爽)假设是从零发端学汇编,确定要把这本书做为第一进修讲义!典范中的典范!
这是一册讲授CPU汇编说话的初学书,实质安顿得很好,小白也能很好上手。
顺序渐进、浅显易懂,每一个示例程序都是通过周到计划的。
采纳了崭新的构造对课程的实质实行布局,对常识实行最小化分隔,为读者构造了顺序渐进的进修线索。
在深入实质的层面上对汇编说话实行讲授;对关键枢纽实行深入的分解。
第2本:《x86汇编说话-从实形式到维护形式》(李忠/王晓波/余洁)假设说第一册书因而进修汇编说话为主的话,那末这一册便是把汇编说话与x86平台严密连合的典范册本。
固然x86架构广大渊博,然而随文章者的思绪一同进修下来,一点都不会感慨没趣没趣。
假设完全的进修了这本书,不光仅是对汇编说话有很深入的掌握,也会对x86系统的一些观念、道理、机制有更深入的明白,这对此后进修Linux职掌系统会有希奇大的扶助。
第3本:《汇编说话程序计划》(RichardBlum)市道上很罕有讲GNUgcc汇编(ATT)的书,这是为数未几的最佳的ATTASM初学册本,不论是实例和道理的表明都希奇冗长、有用。
书中希奇是对内联汇编部份,节俭单到繁杂,惹人入胜,根底上把一共或者的嵌入汇编代码方法都形色的清明了楚。
其余,这本书是连合C说话来讲授的,因此关于有C说话根底的小火伴会更容易一些。
嵌入式册本第1本:《嵌入式系统开垦之道》用平和俭朴的说话,以一个完全的嵌入式系统的开垦过程为架构,通过一位“菜鸟”工程师与项目司理的风趣对话,故事性地带出嵌入式系统观念及开垦因素。
并点出要成为一名守法的嵌入式系统工程师,在本质劳动中所务必完备的各项常识及技能。
第2本:《嵌入式C说话自我教养》这是一册特地为嵌入式读者制造的C说话进阶进修典籍。
本书的进修要点不再是C说话的根底语法,而是和嵌入式、C说话干系的一系列常识。
做家以`C说话为切入点,别离探究了嵌入式开垦所须要的诸多中心思论和技能,力争扶助读者从零搭建嵌入式开垦所须要的完全常识体制和技能树。
有些读者感慨这本书左右逢源,然而又面面不深入。我感到这本书寻求的就因而广度为主,涵盖了嵌入式软件开垦所须要的常识体制舆图,触及到详细的常识点时,还须要连合其余的册本。
第3本:《嵌入式Linux根底教程(第2版)》通盘深入而又精练地表明了建设嵌入式Linux系统的精美。
书中不光分解了嵌入式Linux系统,并且陈述了管教器、内核、带领加载程序、设置启动程序、文献系统等关键组件,引见了嵌入式Linux系统的开垦器材、调试技能。
第4本:《测试启动的嵌入式C说话开垦》深入引见怎么把测试启动的开垦法子行使于嵌入式C说话开垦。
包罗:测试框架,与系统中其余模块实行交互的代码的测试技能,如测试替人、模拟目标等,计划与连续改善代码,如写出更好代码的一些急迫准绳,树立可测并伶俐计划的高档技能,改善已有代码的践行法子。
第5本:《及时嵌入式系统计划准绳与工程践行》这本书豆瓣上今朝没有评分,或者是由于它行使的场景不是那末遍及吧。
假设你的项目或产物,关于系统的及时性请求对照高,那末这本书里的良多计划思绪就希奇的有扶助!
在嵌入式及时系统的周围,大多是仰仗及时职掌系统来抵达及时性的目标的。
然而在X86平台上,关于行使层怎么实行及时性职责的计划,市道上的册本果真未几。
这本书便是从这个角度来量化,怎么对行使层的职责(线程)实行调整,以抵达产物计划请求。
电子-版本PDF下载在进修通过中,积存了部份典范的电子册本,众人依据进修须要自取。
在