GNU/LINUX环境编程
2010-3
清华大学出版社
琼斯
530
张元章
无
GNU/Linux是操作系统中的“瑞士车刀”。从最小的设备(如苹果的iPod)到最大的设备(如;IBM的“蓝色基因”巨型机)中部可以看到它的踪影。你会发现GNU/Linux运行在很多不同的架构中,从老式的x86处理器到PlayStation3使用的cell处理器,不一而举。本书提供GNU/Linux操作系统上的应用程序开发的基础知识。无论你是为iPod还是BlueGene开发应用程序,所需要的编程概念与API均可以在本节中找到。 本书内容 本书全面介绍GNU/Linux环境下应用程序丌发的所有知识。全书五部分,包含GNU工具、应用程序开发、shell与脚本、调试与硬化及——些介绍性的主题,如虚拟化基础。 具体包含以下主题。 GNU/Linux架构与虚拟机制。 GNU工具,如GCC、make、automake/autoconf、源代码拧制系统、GNU Debugger以及GNUplot。 应用程序开发基础,如库(静态的和动态的)、文件管理、管道、套接字、编程等。 GNU/Linux进程模型(包括线程)和POSIX IPC机制(消息序列、旗语及共享内存)。 shell与脚本基础,从相应的GNU/Linux命令到Bash、Ruby以及Python。sed和awk文本管理,flex和bison语法分析器生成。 本书还覆盖调试和硬化技术,包括软件测试工具、覆盖测试和利用GCov和GProf的剖析及内存调试工具(如valgrind等)。 本书配套资源 本书面向的读者 如果你想学习如何开发运行与GNU/Linux操作系统有关的应用程序,或者想扩充知识以进入更高深的开发领域,那么本书就是为你而写的,本节适合GNU/Linux初级和中级程序开发人员阅读与参考。书中覆盖相关的工具、API及开发技术,并通过大量实例来阐明如何使用GNU/Linux的API。
GNU/Linux也称Linux,被誉为操作系统中的“瑞士军刀”。从iPod之类的小型设备到IBM的Blue Gene之类的超级计算机,都可以看到它的”芳踪”。GNU/LinuX可以运行于大众化体系结构之上,从老式的x86处理器到最新的Play Station 3游戏机采用的cell处理器,不一而举。 本书详细介绍如何开发可以运行于GNU/Linux操作系统的应用程序,经过全面修订的第2版涵括所有必要的工具和编程技术,提供丰富的例子来说明GNU/Linux API的使用。 GNU/Linux架构与虚拟化技术 GNU工具,如GCC,make、automake/autoconf,源代码控制系统,GNU Debugger和Gnuplot 应用程序开发基础主题,包括库(动态的和静态的)、文件处理、管道、套接字和编程基础等 GNU/Linux过程模型(包括线程)和POSIXIPC机制(如消息队列、旗语和共享内存) shell和脚本编程基础,从常用的GNU/Linux命令到Bash、Ruby和Python sed和AWK文本处理,flex和bison解析器 调试和代码硬化技术,包括软件测试工具、覆盖测试和GCov和GPro概要和内存调试工具等 本书针对Linux程序员,本书详细介绍如何开发高性能、高安全性的应用程序。经过全面修订的第2版涵括所有必要的工具和编程技术,提供丰富示例来说明GNU/Linux APl的用法。全书共5部分34章,主题涉及GNU工具,应用程序开发,shell与脚本编程,调试和提高安全性,虚拟化技术。凡此种种,吸引着近万名程序员选择本书宋学习GNU/Linux编程技术。 本书浅显易懂,从全局介绍Linux编程基础,重点强调Linux编程利器的使用,对Linux程序员具有重要的参考和指导作用。
M.Tim Jones是一名嵌入式软件架构师,也是多部畅销书的作者,代表作有AI Application Programming,BSD Sockets Proqramming from a Multilanguage Perspective,Artificial Intelligence:A Systems Approach,还发表过大量技术文章。他的工程背景很丰富,曾经为太空船开发过内核,也开发过嵌入式系统架构和联网协议。Tim目前在科罗拉多Longmont的Emulex公司担任顾问工程师。
第Ⅰ部分 导论 第1章 GNU/Linux的历史 第2章 GNU/Linux系统架构 第3章 自由软件开发 第4章 Linux虚拟化与仿真 第Ⅱ部分 GNU工具 第5章 GNU编译工具链 第6章 应用GNU make构建软件 第7章 库的构建与使用 第8章 用automake/affcoconf打包 第9章 GNU/Linux的源码控制 第10章 应用Gnuplot进行数据可视化 第Ⅲ部分 应用程序开发主题 第11章 GNU/Linux的文件操作 第12章 管道编程 第13章 套接字编程简介 第14章 GNU/Linux进程模型 第15章 POSIX线程(P线程)编程 第16章 消息队列IPC 第17章 旗语同步 第18章 共享内存编程 第19章 高级文件操作 第20章 其他应用程序开发主题 第Ⅳ部分 GNU/Linux的shell与脚本 第21章 GNU/Linux标准命令 第22章 Bourne-Again shell(Bash) 第23章 使用sed进行编辑 第24章 使用awk进行文本处理 第25章 使用flex和bison 第26章 Ruby脚本编程 第27章 Python脚本编程 第28章 GNU/Linux管理基石出 第Ⅴ部分 调试与测试 第29章 软件单元测试框架 第30章 用GDB进行调试 第31章 代码硬化 第32章 用GNU gcoy进行覆盖测试 第33章 用GNU gprof进行 第34章 高级调试主题 附录 缩写与部分 缩写词
插图:完全虚拟化完全虚拟化方法为客户操作系统创建一个虚拟机实例,使客户操作系统可以不加修改地运行。虚拟机模拟底层硬件的某些部分,捕捉需要由管理程序(虚拟机监视器)进行仲裁的调用。这种虚拟化模式如图4.1所示。完全虚拟化要求所有的操作系统都是针对同一处理器架构开发的,这是一个很普通的要求,实验性的或开发中的系统可能不能满足这一点。运行中各个操作系统都不加改动并且不知道它是在一个虚拟平台上执行。此外,完全虚拟化可以在支持虚拟化的硬件上运行。虚拟化当中最大的问题是如何处理特殊的特权模式指令。这些指令必须被正确捕捉并且由管理程序处理。所以在一个未加修改的操作系统中(没有虚拟化硬件),必须找出这些调用并转换为管理程序调用。这个过程称为代码扫描,其结果是向原始代码中找到的特权捕获指令处插入管理程序调用代码。准虚拟化最近的公告修改了“准虚拟化”的定义。早期的准虚拟化方法要求对修改客户操作系统,使得操作系统知道它实际上已经被虚拟化了。这意味着更高的性能(因为不必进行代码扫描),但也限制了能被虚拟化的操作系统(见图4.5)。但是现在,准虚拟化的定义已经变化了。拥有了支持虚拟化的硬件,操作系统的修改不再必要。这意味着所有的操作系统都可以被虚拟化,因为虚拟化对各个客户操作系统都是透明的(见图4.6)。
《GNU/LINUX环境编程(第2版)》:浅显易懂,容易理解的Linux编程基础聚焦Linux编程利器——GNU工具和库全面覆盖各种有用的API配套资源包含《GNU/LINUX环境编程(第2版)》代码和所有API
无
很不错的书,对GNU/LINUX环境编程有个很系统的介绍,对任何层次的开发人员都很适合。
这本书对于学习linux很有帮助
断断续续的玩了好久的LINUX了,还停留在入门阶段,这本书刚好适合。
参考用书,项目开发需要用到的。
正在学习中,还没看完。比APUE内容浅一些,更容易理解。
学计算机必备的,朋友推荐的,买来看看!
工具书备用
书质量不错,运货速度也是超快!内容正在看
其实这书已经不用我评论了,经典的书就是经典啊
今天刚拿到书本,还没有顾上看这本,大概翻阅了一下,书本质量不错,是正版的,呵呵,质量不错的书本就有看下去的欲望了,希望内容实用。
涉及的比较宽,算是全面介绍一下linux编程吧
以前编程都在windows下用VC IDE,近期由于移植几个unix平台下的软件包被迫研究unix环境编程,但对makefile、gcc等很摸不着头脑,看了这本书的前几部分感觉收获较大。
这本书的内容很全,看目录就知道了,也有一定厚度。但是注意这是一本“快速”入门书,所谓快速是指它的内容相当简略,很多地方都是一带而过。学习这本书最好配有电脑和网络,将它作为一个地图,随时上网查找、上机练习。本书对于自学能力强的人来说还是一本不错的入门书的
书内容还不错,翻译就比较无语了,信号量说成什么旗语,最悲剧的是tarball翻译成tar球,部分地方存在小错误,应该是译者没用弄懂的原因,基本上不影响阅读。
腰椎间盘突出伴坐骨神经痛比较喜欢,只是给我发了本旧书。。。。
买此书的原因是因为看到内容及其组织还可以,对于初学者挺合适。但是买回来后发现翻译得蛮粗糙的,如果有原版的话还是建议看原版。
内容太宽泛,很多东西都是泛泛而提,不适合初学者。看电子版的:[GNU[1].Linux.编程指南.(第二版)].Linux.Programming.Unleashed.Second.Edition.[美].Kurt.Wall.扫描版.pdf,中文名是《GNU/Linux 编程指南》发现这本书还可以,决定买本看看,因为老看电子版的不舒服。但是没找到,就买了这本《GNU/Linux环境编程》,看了之后发现不实用。
翻译质量不行,若不是初学者,看看还是可以的。
说实话我没有看完。。。。。。。我发现我们lab的东西根本用不到这么高深的linux知识
很好的书,正在继续看,以后还会买的
很有用的一本书,真心喜欢,真不错!
还没看完不过内容挺好
内容不少,不过一带而过。。。
Linux c/c++必须要入手一本啊。
这本书涉及的内容着实广泛,对于初学者开阔视野很有好处。在这本书中,想不到还介绍了词法分析工具flex,而我最近正准备使用这个工具,应该会是个不错的入门。另外,感觉这本书印刷和排版也不错,看起来很美观。该书讲述得条理清晰,贴近初学者,是学习GNU/Linux的绝佳之选。对于初学者,另外一本很好的书应该就是《鸟哥的私房菜》了。
送货速度比较慢。这本不如UNIX环境编程出名,但是对Linux挺合适,里面也介绍了不少和编程相关的东西,扩展知识面不错,作为入门级的书挺好
其实我觉得这本书挺好的, 但是不知道为什么没人来评。APUE也看不懂,这本书给我入门的,虽然讲得很泛泛,但是那些例子都是很好,把例子运行一遍东西就差不多会了。既然是入门,那当然是讲一些常用的而且直接就教你用了。讲得很泛泛,看完之后,再去看高级一点的。入门我推荐这本书。之后是读linux程序设还是GNU/linx编程指南呢,有没有答我一下
入个门看这个书还行
GNU/LINUX环境编程(第2版)
linux下编程指南
作为参考书使用
等了好久了,终于有货了
比较好的linux书籍
Linux很好的书