`

学习linux/unix编程方法的建议

 
阅读更多

原文:http://blog.chinaunix.net/space.php?uid=20454812&do=blog&id=1675840

首先先学学编辑器,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设备驱动程序》第二版,第一版,第二版的译者我都有很深的接触,不过总体上来说,虽然第二版翻译的有些不尽人意,但是相比第一版来说已经超出了一大截。要读这一本书,至少应该先找一些《计算机原理》《计算机体系结构》的书来马马虎虎读读,至少应该对硬件和计算机的工作过程有一些了解。

分享到:
评论

相关推荐

    Linux/UNIX系统编程手册源码

    《Linux/UNIX系统编程手册》是一本权威的指南,涵盖了操作系统的核心编程接口,为开发者提供了深入理解操作系统底层机制的窗口。源码分析是学习这些概念的最直接方式,因为它们揭示了内核如何与应用程序交互。以下是...

    Linux/UNIX系统编程手册课后习题代码

    《Linux/UNIX系统编程手册》是一本经典的教材,它深入浅出地介绍了Linux和UNIX操作系统下的编程接口。这本书涵盖了各种核心API,包括文件操作、进程管理、网络通信、信号处理等,是学习系统级编程的重要参考资料。...

    linux/unix网络编程-甘刚,,linux编程.ppt

    ,linux编程.ppt,linux编程.ppt,linux编程.ppt,linux编程.ppt,linux编程.ppt,linux编程.ppt,linux编程.ppt,linux编程.ppt,linux编程.ppt

    asm.zip_Linux/Unix编程

    【标题】"asm.zip_Linux/Unix编程" 文件包涵盖了多个与Linux/Unix系统相关的编程主题,特别是关于URI(统一资源标识符)和UriBuilder类的使用。在Linux和Unix环境中,开发人员经常需要处理这些类来构建和操作URLs,...

    Linux-UNIX系统编程手册.pdf

    Linux/UNIX系统编程是计算机...总结来说,这本手册是Linux和UNIX系统编程学习者和专业人员必备的参考书籍之一,它不仅覆盖了广泛的系统编程知识,还提供了大量的实例和图表,帮助读者快速掌握复杂的编程概念和技巧。

    linux/unix系统编程手册附录代码

    通过阅读和分析这些附录代码,读者不仅可以学习到具体的函数用法,还能理解它们在实际场景中的应用,从而提升自己的Linux/Unix系统编程能力。这些知识点涵盖了从基础操作到高级特性的方方面面,对于软件开发、系统...

    用Linux/UNIX Shell编程语言设计系统监控程序.pdf

    本文档主要介绍了使用Linux/UNIX Shell编程语言设计系统监控程序的方法。该程序使用Shell编程语言设计CGI脚本,通过使用过滤器awk在某些输出行中提取信息,然后在HTML文档中以表格形式显示系统的运行情况。 在Linux...

    XMS.rar_Linux/Unix编程

    【标题】"XMS.rar_Linux/Unix编程" 涉及的是在Linux或Unix操作系统环境下进行程序开发的知识,特别是与Delphi相关的编程实践。在Linux/Unix系统中,编程通常涉及C语言或C++,但这个特定的案例中提到了“Hand C SMS ...

    Linux/UNIX系统编程手册(源代码)

    《Linux/UNIX系统编程手册》是一本权威的指南,涵盖了操作系统接口...通过《Linux/UNIX系统编程手册》的源代码实践,开发者不仅能学习到基础的C语言编程,还能深入了解Linux/UNIX系统的底层运作,提升系统级编程技能。

    RSGLXT-master_Linux/Unix编程_

    《RSGLXT-master:Linux/Unix编程在人事管理系统中的应用》 RSGLXT-master 是一个专为人事管理设计的系统,充分利用了Linux/Unix平台的强大功能,为企业的员工信息管理提供了高效、稳定且灵活的解决方案。Linux/...

    LinuxProbe(20180610)_WithBookmark_linux_Linux/Unix编程_

    《LinuxProbe(20180610)_WithBookmark》是一本专注于Linux/Unix编程领域的书籍,其高质量的内容和清晰的布局深受读者喜爱。这本书不仅涵盖了基础的Linux操作系统原理,还深入探讨了Unix系统编程的各个方面,为读者...

    linux/unix系统编程手册(下)

    通过阅读《Linux/Unix系统编程手册(下)》,开发者不仅能深入理解底层系统工作原理,还能学习到编写高效、可靠的系统级代码的技巧。这不仅对系统管理员,也对任何希望提升技能的Linux/Unix开发者来说都是宝贵的知识...

    linux/unix 系统编程手册

    《Linux/Unix 系统编程手册》是一本深入探讨Linux和Unix系统编程的权威著作,由德国专家Michael Kerrisk撰写,并由孙剑等翻译成中文,由人民邮电出版社出版。这本书涵盖了广泛的系统编程主题,旨在帮助开发者理解和...

    pgss.rar_Linux/Unix编程_systemview CDMA

    总结来说,这个压缩包资料为我们提供了一次深入学习Linux/Unix编程和CDMA系统设计的机会,尤其是通过SystemView这样的专业工具进行实时分析和仿真的实践。对于无线通信工程师或系统开发者来说,理解和掌握这些知识...

    LINUX.UNIX系统编程手册(下册)

    《linux/unix系统编程手册(上、下册)》是介绍linux与unix编程接口的权威著作。linux编程资深专家michael kerrisk在书中详细描述了linux/unix系统编程所涉及的系统调用和库函数,并辅之以全面而清晰的代码示例。...

    exercise_one_due2v3_Linux/Unix编程_

    【标题】"exercise_one_due2v3_Linux/Unix编程_" 暗示这是一个与Linux/Unix操作系统编程相关的练习或项目,可能是一个教学资源或竞赛的作业,版本为due2v3。这个标题可能代表着练习的阶段或者更新迭代,重点在于理解...

    IQWG.zip_Linux/Unix编程

    【标题】"IQWG.zip_Linux/Unix编程"与描述中的"windows mobile 6 SDK 操作outlook通讯簿"看似不直接相关,但实际上,这可能是由于文件命名的误导。从标签"linux/unix编程"来看,我们可以推断出讨论的核心是关于在...

    lrkx.rar_Linux/Unix编程

    【标题】"lrkx.rar_Linux/Unix编程" 提供了一个关于Linux/Unix系统下编程的资源包,其中可能包含了一些与电话通信相关的程序源代码或者开发工具。这个资源可能帮助开发者理解如何在这些操作系统环境下实现电话通信...

    Linux/UNIX系统编程手册 源码

    《Linux/UNIX系统编程手册》是一本深受程序员和系统管理员喜爱的经典著作,它详细阐述了在Linux和UNIX操作系统上进行系统级编程的各种技术。源码是书籍内容的实践部分,对于学习和理解书中的概念至关重要。这个...

    归档_Linux/Unix编程_

    在本主题中,我们将深入探讨“归档_Linux/Unix编程”中的关键知识点,特别是进程间通信(IPC,Inter-Process Communication)技术,如匿名管道、共享内存,以及如何利用这些机制实现点对点聊天和群聊功能。...

Global site tag (gtag.js) - Google Analytics