《C程序设计语言》KR经典的C语言设计教材

admin 发布于 2024-03-16 阅读(149)

建议学习路径:

首先先学学编辑器,vim, emacs什么的都行。

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

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

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

然后再看 E. Comer的《用TCP/IP进行网际互连》第一卷,学习一下网络的知识,再看《UNP》的第一卷,不仅学习网络编程,而且对系统编程的一些常用的技巧就很熟悉了,如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议、ftp等协议的编程。

如果想写设备驱动程序,首先您的系统编程的接口比如文件、IPC等必须要熟知了,再学习《LDD》2。

对于几本经典教材的评价:

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

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

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

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

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

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

有一个清晰的认识。

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

推荐《unix环境高级编程》

《linux 》(中文名忘了)

《linux内核剖析》

《linux设备驱动》

《深入理解linux内核》

初级:熟练使用命令、熟悉Shell编程、能配置简单的服务,清楚各类服务相关的配置文件的位置,

能看懂并可修改系统提供的配置脚本(/etc/*.*)

推荐书籍:

《鸟哥的私房菜基础篇、高级篇》

《 Bash Shell》

中级:熟悉TCP/IP原理、OS原理、熟练使用C语言、Linux系统编程、网络编程。

推荐书籍:

《The C 》

《Unix环境高级编程》

《Linux程序设计》

《TCP/IP协议详解卷一》

《Unix网络高级编程》

高级:

《Linux 》

《深入理解Linux内核》

《深入理解计算机系统》

《深入理解LINUX网络内幕》

嵌入式书籍推荐

Linux基础

1、《Linux与编程指南》

C语言基础

1、《C Plus,》【美】 Prata着

2、《The , 2nd 》【美】Brian W. David M. (K & R)着

3、《 in the UNIX ,2nd 》(APUE)

4、《嵌入式Linux应用程序开发详解》

Linux内核

1、《深入理解Linux内核》(第三版)

2、《Linux内核源代码情景分析》毛德操胡希明著

研发方向

1、《UNIX 》(UNP)

2、《TCP/IP详解》

3、《Linux内核编程》

4、《Linux设备驱动开发》(LDD)

5、《Linux高级程序设计》杨宗德著

硬件基础

1、《ARM体系结构与编程》杜春雷着

2、

英语基础

1、《计算机与通信专业英语》

系统教程

1、《嵌入式系统――体系结构、编程与设计》

2、《嵌入式系统――采用公开源代码和/处理器》毛德操胡希明着

3、《 Linux 》

4、《嵌入式ARM系统原理与实例开发》杨宗德著

理论基础

1、《算法导论》

2、《数据结构(C语言版)》

3、《计算机组织与体系结构?性能分析》

4、《深入理解计算机系统》【美】. David O''着

5、《操作系统:精髓与设计原理》

6、《编译原理》

7、《数据通信与计算机网络》

8、《数据压缩原理与应用》

C语言书籍推荐

1. The C 《C程序设计语言》

2. on C《C和指针》

3. C traps and 《C陷阱与缺陷》

4. C 《专家C编程》

5. Clean Code ----- for Bug-free C

《编程精粹--编写优质无错C程序秘诀》

6. in C and C++《嵌入式系统编程》

7.《C语言嵌入式系统编程修炼》

8.《高质量C++/C编程指南》林锐

尽可能多的编码,要学好C,不能只注重C本身。算法,架构方式等都很重要。

标签:  编程 内核 嵌入 应用 操作 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。