首页编程unix环境高级编程,《UNIX环境高级编程》这本书怎么看怎么学习

unix环境高级编程,《UNIX环境高级编程》这本书怎么看怎么学习

编程之家2023-11-03130次浏览

各位老铁们好,相信很多人对unix环境高级编程都不是特别的了解,因此呢,今天就来为大家分享下关于unix环境高级编程以及《UNIX环境高级编程》这本书怎么看怎么学习的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

学习linux驱动开发需要先学习UNIX环境高级编程这本书吗

你连应用层都不懂就能搞底层吗?而且《UNIX环境高级编程》讲的不是真正意义上的应用层,它讲的是操作系统API,也就是系统调用,你去看看有哪个应用程序会直接使用系统调用的。

系统调用是比C标准库还底层的库,由操作系统直接提供,都是一些非常基础的功能。重要的是它讲述了大量的系统级编程的概念与方法,这些概念是在其他很多地方都通用的,甚至在windows下都是非常有意义的。

系统调用是内核与应用层的接口,把握住了这一层上可以写应用程序,下可以写内核模块,当然都需要深入学习。

《UNIX环境高级编程》是你学习操作系统非常好的方式(大学讲的“操作系统”完全就是扯蛋),多写几次fork,把内核代码中task_struct结构大概看一下,你就知道什么是进程了,还要去背那些过时的甚至是错误的概念?以后你再看内核方面的书你就会知道这些有多重要,事实上没有系统级编程的知识,你要直接看内核方面还是比较困难的(这些东西你终究还是要知道的)。

还是看你自己怎么看了,《UNIX环境高级编程》确实不讲述任何关于内核编程的东西。

unix环境高级编程第3版怎么样

还可以,我看过,下面找了一些介绍

《UNIX环境高级编程(第3版)》是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的第3版。在本书第2版出版后的8年中,UNIX行业发生了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了众多应用实例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。

《UNIX环境高级编程(第3版)》内容权威,概念清晰,阐述精辟,对于所有层次UNIX/Linux程序员都是一本不可或缺的参考书。

主流的编程语言有哪些

编程都有哪些语言?

C语言绘图能力强,具有可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。

编程语言二、java

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

编程语言三、c++

C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。

编程语言四、php

PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。PHP是一种 HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

编程语言五、c#

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。

《UNIX环境高级编程》这本书怎么看怎么学习

W.Richard Stevens先生所著之书比较适合有经验的人进一步深入学习

W.Richard Stevens先生所著的UNIX环境高级编程、UNIX网络编程、TCP/IP详解是难得的入门好书,但这里的入门指得是研究生级别的入门。Stevens先生所著之书多半是为了给研究生上课时用做教材,因此 Stevens先生假设阅读这些书的人至少已经接受过了系统的计算机技术本科教育,已经拥有了比较系统的计算机相关基础理论知识。在书中 Stevens先生假设读者拥有了最基础的操作系统理论,网络技术理论,以及UNIX理论和实践经验,并拥有数种业界常用的UNIX系统作为学习环境(在国外的大学里很容易获得),这样才能体会书中所述的细节。因此这些书刚接触时看似通俗易懂,但在阅读细节上却对读者要求甚高,如果没有足够的专业理论和系统实践是很难真正读进去的。

所以,对于没有接受过系统的计算机专业教育的爱好者,或者主要以 linux系统维护,或以linux桌面应用为主的普通用户,Stevens先生的书并不是很合适的阅读对象。

因此,就我个人的看法,掌握任何一种知识都是需要投入的。我们需要花费金钱去得知识来源(花钱买书,花钱上网,花钱培训),需要花费宝贵的时间去阅读(人生匆匆几十年,没多少时间可以给我们去浪费),需要花费精力去理解书中的内容(基础知识越扎实,理解所学内容越快,但累积基础同样需要大量时间和精力),需要找到合适的环境(光看不实践心里是不会有底的)去验证自己掌握的东西。因此,如果在决定投入之前,先要摸清楚自己到底想要达到什么样的目标,这个目标是否切合自己的实际(相信一个在流水线上辛苦劳作的普通工人,即使学会了计算机编程也是没有用武之地的,除非他有机会离开流水线)。自己是否有足够的资源承载自己的理想(如对于温饱问题尚未解决之人,要他花上千上万的钱去学MBA显然是不现实的)。

同时,任何一本书都会对读者提出一个基本的知识架构和程度上的要求,比方说即使是文学博士,让他去读高能物理学方面的书也会要他的命的。因此在选择所读之书前,先要对自己的实际能力做一次详细的评估,看自己目前到了哪种阶段,是否有能力去掌握自己想要掌握的东西。千万不要因为好高骛远而勉力为之。选择适合自己当前水平的书去阅读并理解,远好过拿着大师所著的神作干瞪眼。

如果主要希望掌握UNIX下的编程技术,尤其是网络编程技术的话,可以有两条路走:

1、以实际需要完善知识架构:为自己做一个项目,比方说自己写个简单的 Web服务器,因为现在 Web应用非常丰富,既有成熟的客户端如浏览器可以配合,又有足够全的文档如 RFC文档可供参考,再加上最基本的 socket编程经验,就可以开始做自己的 Web服务器。一步一步的为 Web服务器添加流行的功能,如支持后台 FastCGI接口,支持 WebDAV,支持流媒体等。在这个过程中不断地学习和掌握相关的理论知识,有时在发觉设计上的不足时甚至需要推翻全盘重新架构。当最终一个完全符合自己心意且足够实用的 Web服务器做成时,就拥有了可以由自己支配和修改的服务器,同时也掌握了相关的专业理论。这种方式比较适合有一定专业基础的人使用。优点是直观,方向明确所以学习效率高。缺点是需求驱动,形成知识架构不容易完整。

2、系统掌握计算机专业理论:最好的书就是大学里的理论教科书,这些书不会去讲解过于具体的计算机应用,而是从概念开始讲起,力图使学习者获得一个完整的知识体系。只要以后碰到的工作和这个知识体系相关,自然就能很快学会。这种方式比较适合没有基础,或者希望深入学习的人使用,优点是知识架构会逐渐趋于完整,理论功底扎实,后劲足。缺点是花费时间长,方向不明确所以学习效率低,初期会因缺少实践而进展缓慢。

如果你还想了解更多这方面的信息,记得收藏关注本站。

浦城网,浦城生活网的介绍成都网站设计?成都网站建设多少钱