请输入您要查询的百科知识:

 

词条 实战Linux编程精髓
释义

书名,(以)罗宾斯,中译本由中国电力出版社2005年出版。全书主要分为三部分:第一部分讨论了基本的编程问题,第二部分比较深入地讨论了上面这些概念,如进程间通信、信号、权限检查;第三部分介绍了程序设计的一个重要环节即调试。

版权信息

书 名: 实战Linux编程精髓

作 者:(以)罗宾斯|译者

出版社: 中国电力出版社

出版时间: 2005

ISBN: 9787508330075

开本: 16

定价: 59.80 元

内容简介

编写应用软件,特别是那些比较重要的软件,毫无疑问要涉及到系统调用。在UNIX/Linux环境下编程更是如此。要想编写优秀的软件,就必须熟悉这些系统调用的方方面面。通过阅读这本书,你能够快速地掌握这些重要技术,以构建严谨的Linux软件。全书主要分为三大部分:第一部分讨论了基本的编程问题,包括Linux编程环境、基本的文件和进程管理与操作、内存操作,还介绍了一些基本的库接口。第二部分比较深入地讨论了上面这些概念,如进程间通信、信号、权限检查;此外这部分还介绍了一些扩展接口;接着讨论了多语言问题;最后介绍了一些高级专题。第三部分介绍了程序设计的一个重要环节即调试。本书结构合理、概念清晰、实例丰富,并具有很强的启发性和实用性。

作者简介

ARNOLDROBBINS是一位专业程序员和教授,同时也是《LJNIXinaNLJtshell))、《LearllingtheKorrlShell》和《EffectiveawkProgramming》等书的作者。另外,他还是一名长期的GNUProject的志愿者,目前负责维护gawk。从1980年开始,Robbirls就开始使用C、C++、LINIX和GNIJ/LInux。

编辑推荐

想学习编程?想从Windows过渡到Linux?曾经进行过Linux开发,但希望进一步探索系统调用接口?不管是哪种情况,这本书都能够快速和直接地帮助你掌握这些重要技术,以构建严谨的Linux软件。

该书通过展示和解释优良的实例程序来介绍Linux编程,这可能是最有效的方式。通过引用V7UNIX和GNU中的源代码,ArnoldRobbins着重介绍了基础的系统调用API,这些API在任何重要程序中均处于核心地位。Robbins还循序渐进地介绍了许多高水平的编程准则和“内幕’’技术。与此同时,他还仔细地陈述了许多实际性的问题,如性能、可移植性和健壮性。

目录

译者序

前言

第1部分文件与用户

第1章引言3

1.1Linux/Unix文件模型3

1.2Linux/Unix进程模型7

1.3标准C与原始C9

1.4为什么GNU程序更好?10

1.5回顾可移植性13

1.6推荐读物14

1.7小结15

练习15

第2章参数、选项和环境17

2.1选项和参数约定17

2.2基本的命名行处理技术20

2.3选项解析:getopt()和getopt_long()函数21

2.4环境29

2.5小结36

练习37

第3章用户级内存管理39

3.1Linux/Unix地址空间39

3.2内存分配42

3.3小结60

练习60

第4章文件和文件I/O63

4.1介绍Linux/UnixI/O模型63

4.2介绍基本的程序结构64

4.3确定出了什么问题65

4.4输入与输出70

4.5随机访问:在文件内部移动读写位置78

4.6创建文件81

4.7强迫数据存到磁盘上86

4.8设置文件长度87

4.9小结88

练习88

第5章目录和文件元数据91

5.1仔细思考目录的内容91

5.2创建和删除目录100

5.3读取目录102

5.4获取文件相关信息107

5.5修改所有权、权限和修改时间119

5.6小结125

练习125

第6章通用库接口——第一部分127

6.1时间和日期127

6.2排序和搜索函数138

6.3用户名和组名150

6.4终端:isatty()154

6.5推荐读物155

6.6小结155

练习156

第7章综合应用:ls159

7.1V7ls命令选项159

7.2V7ls命令的源代码160

7.3小结173

练习173

第8章文件系统和目录遍历175

8.1安装和卸载文件系统175

8.2用于文件系统管理的文件182

8.3获得每个文件系统的信息187

8.4在文件层次结构中移动197

8.5在文件树中移动:GNUdu206

8.6改变根目录:chroot()212

8.7小结213

练习214

第2部分进程、IPC和国际化

第9章进程管理和管道217

9.1进程创建和管理217

9.2进程组237

9.3基本的进程间通信:管道和FIFO239

9.4文件描述符管理243

9.5例子:gawk中的双向管道255

9.6推荐读物258

9.7小结259

练习260

第10章信号263

10.1引言263

10.2信号处理264

10.3标准C信号:signal()和raise()函数264

10.4运转中的信号处理器268

10.5SystemV版本3的信号API:sigset()等函数277

10.6POSIX信号279

10.7进程间通信信号287

10.8一些重要的专用信号290

10.9横跨fork()和exec()函数的信号303

10.10小结303

练习305

第11章权限、用户ID号及组ID号307

11.1权限检查307

11.2获取用户ID和组ID310

11.3核准作为真实用户:access()函数312

11.4核准作为有效用户:euidaccess()函数(GLIBC)313

11.5设置目录的额外权限标志位314

11.6设置真实ID和有效ID316

11.7处理三种ID:getresuid()和setresuid()(Linux)320

11.8穿越安全雷区:setuidroot321

11.9推荐读物322

11.10小结322

练习323

第12章通用库接口——第二部分325

12.1断言语句:assert()宏325

12.2底层内存操作:memXXX()函数328

12.3临时文件332

12.4自杀:abort()函数339

12.5非局部转移339

12.6伪随机数346

12.7元字符扩展351

12.8正则表达式360

12.9推荐读物366

12.10小结367

练习368

第13章国际化和本地化371

13.1引言371

13.2区域设置和C语言库372

13.3程序消息的动态翻译387

13.4请把它拼写出来,好吗?399

13.5推荐读物401

13.6小结401

练习402

第14章扩展接口403

14.1分配对齐的内存:posix_memalign()和memalign()函数403

14.2文件锁定404

14.3更精确的时间413

14.4使用二叉树进行高级搜索419

14.5小结428

练习428

第3部分调试和最终的项目

第15章调试433

15.1首要问题434

15.2为调试而编译434

15.3GDB基础434

15.4为调试而编程440

15.5调试工具462

15.6软件测试482

15.7调试规则483

15.8推荐读物485

15.9小结485

练习486

第16章综合前面所有主题的工程489

16.1工程描述489

16.2推荐读物491

第4部分附录

附录A十年学会编程495

为何人人都这么着急?495

十年学会编程496

参考文献497

答案498

脚注498

附录BCaldera原始UNIX许可证499

附灵CGNU通用公共许可证501

序言501

复制、发布和修改的条款和条件502

没有担保504

条款和条件的结束504

如何将这些条款运用于你的新程序504

应用示例505

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/11 5:38:01