UNIX环境高级编程

出版社:人民邮电出版社
出版日期:2006-2
ISBN:9787115144843
作者:W.Richard Stevens Stephen A.Rago,Stephen A. Rago
页数:927页

名人推荐

“总之,作为更新版本,本书不负众望,无愧于经典原作。”             --Dennis Ritchie,图灵奖得主, Unix操作系统和C语言之父“对任何一个真正的专业UNIX系统程序员而言,本书都是不可或缺的参考书。Rago更新和扩展了Stevens的经典著作,并保持了原书的风貌。”             --Andrew Josey, POSIX 1003.1标准工作组主席

媒体关注与评论

  “总之,作为更新版本,本书不负众望,无愧于经典原作。”  ——Dennis Ritchie,图灵奖得主, Unix操作系统和C语言之父  “对任何一个真正的专业UNIX系统程序员而言,本书都是不可或缺的参考书。Rago更新和扩展了Stevens的经典著作,并保持了原书的风貌。”  ——Andrew Josey, POSIX 1003.1标准工作组主席

内容概要

W.Richard Stevens备受赞誉的已帮技术作家,生前著有多种经典的传世之作,包括《UNIX网络编程》(两卷本)、《TCP/IP详解》(三卷本)和本书第1版。
Stephen A.Rago资源UNIX程序员,是当年贝尔实验室的UNIX系统V版本4的开发人员之一,著有《UNIX系统V网络编程》,并曾担任本书第1版的技术审校。他目前是ENC管理人员,专门从事文件服务器和文件系统方向的研究。

书籍目录

Chapter 1. UNIX System Overview 1
1.1 Introduction 1
1.2 UNIX Architecture 1
1.3 Logging In 2
1.4 Files and Directories 4
1.5 Input and Output 8
1.6 Programs and Processes 10
1.7 Error Handling 14
1.8 User Identification 16
1.9 Signals 18
1.10 Time Values 20
1.11 System Calls and Library Functions 21
1.12 Summary 23
Chapter 2. UNIX Standardization and Implementations 25
2.1 Introduction 25
2.2 UNIX Standardization 25
2.2.1 ISO C 25
2.2.2 IEEE POSIX 26
2.2.3 The Single UNIX Specification 29
2.2.4 FIPS 33
2.3 UNIX System Implementations 33
2.3.1 UNIX System V Release 4 33
2.3.2 4.4BSD 34
2.3.3 FreeBSD 35
2.3.4 Linux 35
2.3.5 Mac OS X 35
2.3.6 Solaris 35
2.3.7 Other UNIX Systems 36
2.4 Relationship of Standards and Implementations 36
2.5 Limits 36
2.5.1 ISO C Limits 38
2.5.2 POSlX Limits 38
2.5.3 XSl Limits 40
2.5.4 sysconf, pathconf, and fpathconf Functions 41
2.5.5 Indeterminate Runtime Limits 48
2.6 Options 52
2.7 Feature Test Macros 55
2.8 Primitive System Data Types 56
2.9 Conflicts Between Standards 56
2.10 Summary 58
Chapter 3. File I/0 59
3.1 Introduction 59
3.2 File Descriptors 59
3.3 open Function 60
3.4 creat Function 62
3.5 close Function 63
3.6 1 seek Function 63
3.7 read Function 67
3.8 write Function 68
3.9 I/O Efficiency 68
3.10 File Sharing 70
3.11 Atomic Operations 74
3.12 dup and dup2 Functions 76
3.13 sync, fsync, and fdatasync Functions 77
3.14 fcnt 1 Function 78
3.15 ioct 1 Function 83
3.16 /dev/fd 84
3.17 Summary 85
Chapter 4. Files and Directories 87
4.1 Introduction 87
4.2 stat, fstat, and lstat Functions 87
4.3 File Types 88
4.4 Set-User-ID and Set-Group-ID 91
4.5 File Access Permissions 92
4.6 Ownership of New Files and Directories 95
4.7 access Function 95
4.8 umask Function 97
4.9 chmod and f chmod Functions 99
4.10 Sticky Bit 101
4.11 chown, fchown, and lchown Functions 102
4.12 File Size 103
4.13 File Truncation 105
4.14 File Systems 105
4.15 link, unlink, remove, and rename Functions 108
4.16 Symbolic Links 112
4.17 syml ink and readlink Functions 115
4.18 File Times 115
4.19 ut ime Function 116
4.20 mkdir and rmdir Functions 119
4.21 Reading Directories 120
4.22 chdir, fchdir, and getcwd Functions 125
4.23 Device Special Files 127
4.24 Summary of File Access Permission Bits 130
4.25 Summary 130
Chapter 5. Standard I/O Library 133
5.1 Introduction 133
5.2 Streams and FILE Objects 133
5.3 Standard Input, Standard Output, and Standard Error 135
5.4 Buffering 135
5.5 Opening a Stream 138
5.6 Reading and Writing a Stream 140
5.7 Line-at-a-Time I/O 142
5.8 Standard I/O Efficiency 143
5.9 Binary I/O 145
5.10 Positioning a Stream 147
5.11 Formatted I/O 149
5.12 Implementation Details 153
5.13 Temporary Files 155
5.14 Alternatives to Standard I/O 159
5.15 Summary 159
Chapter 6. System Data Files and Information 161
6.1 Introduction 161
6.2 Password File 161
6.3 Shadow Passwords 165
6.4 Group File 166
6.5 Supplementary Group IDs 167
6.6 Implementation Differences 169
6.7 Other Data Files 169
6.8 Login Accounting 170
6.9 System Identification 171
6.10 Time and Date Routines 173
6.11 Summary 177
Chapter 7. Process Environment 179
7.1 Introduction 179
7.2 main Function 179
7.3 Process Termination 180
7.4 Command-Line Arguments 185
7.5 Environment List 185
7.6 Memory Layout of a C Program 186
7.7 Shared Libraries 188
7.8 Memory Allocation 189
7.9 Environment Variables 192
7.10 set j mp and longj mp Functions 195
7.11 getrlimit and setrlimit Functions 202
7.12 Summary 206
Chapter 8. Process Control 209
8.1 Introduction 209
8.2 Process Identifiers 209
8.3 fork Function 211
8.4 vfork Function 216
8.5 exit Functions 218
8.6 wait and waitpid Functions 220
8.7 waitid Function 226
8.8 wait3 and wait4 Functions 227
8.9 Race Conditions 227
8.10 exec Functions 231
8.11 Changing User IDs and Group IDs 237
8.12 Interpreter Files 242
8.13 system Function 246
8.14 Process Accounting 250
8.15 User Identification 256
8.16 Process Times 257
8.17 Summary 259
Chapter 9. Process Relationships 261
9.1 Introduction 261
9.2 Terminal Logins 261
9.3 Network Logins 266
9.4 Process Groups 269
9.5 Sessions 270
9.6 Controlling Terminal 272
9.7 tcgetpgrp, tcsetpgrp, and tcgetsid Functions 273
9.8 Job Control 274
9.9 Shell Execution of Programs 278
9.10 Orphaned Process Groups 282
9.11 FreeBSD Implementation 285
9.12 Summary 287
Chapter 10. Signals 289
10.1 Introduction 289
10.2 Signal Concepts 289
10.3 signal Function 298
10.4 Unreliable Signals 301
10.5 Interrupted System Calls 303
10.6 Reentrant Functions 305
10.7 s IGCLD Semantics 308
10.8 Reliable-Signal Terminology and Semantics 310
10.9 kill and raise Functions 311
10.10 alarm and pause Functions 313
10.11 Signal Sets 318
10.12 sigprocmask Function 320
10.13 s igpending Function 322
10.14 sigaction Function 324
10.15 sigsetjmp and siglongjmp Functions 329
10.16 s igsuspend Function 333
10.17 abort Function 340
10.18 sys t em Function 342
10.19 s I eep Function 347
10.20 Job-Control Signals 349
10.21 Additional Features 352
10.22 Summary 353
Chapter 11. Threads 355
11.1 Introduction 355
11.2 Thread Concepts 355
11.3 Thread Identification 356
11.4 Thread Creation 357
11.5 Thread Termination 360
11.6 Thread Synchronization 368
11.7 Summary 385
Chapter 12. Thread Control 387
12.1 Introduction 387
12.2 Thread Limits 387
12.3 Thread Attributes 388
12.4 Synchronization Attributes 393
12.5 Reentrancy 401
12.6 Thread-Specific Data 406
12.7 Cancel Options 410
12.8 Threads and Signals 413
12.9 Threads and fork 416
12.10 Threads and I/O 420
12.11 Summary 420
Chapter 13. Daemon Processes 423
13.1 Introduction 423
13.2 Daemon Characteristics 423
13.3 Coding Rules 425
13.4 Error Logging 428
13.5 Single-Instance Daemons 432
13.6 Daemon Conventions 434
13.7 Client-Server Model 439
13.8 Summary 439
Chapter 14. Advanced I/O 441
14.1 Introduction 441
14.2 Nonblocking I/O 441
14.3 Record Locking 444
14.4 STREAMS 460
14.5 I/O Multiplexing 472
14.5.1 select and pselect Functions 474
14.5.2 pol 1 Function 479
14.6 Asynchronous I/O 481
14.6.1 System V Asynchronous I/O 481
14.6.2 BSD Asynchronous I/O 482
14.7 readv and writev Functions 483
14.8 readn and writen Functions 485
14.9 Memory-Mapped I/O 487
14.10 Summary 492
Chapter 15. Interprocess Communication 495
15.1 Introduction 495
15.2 Pipes 496
15.3 popen and pclose Functions 503
15.4 Cop rocesses 510
15.5 FIFOs 514
15.6 XSI IPC 518
15.6.1 Identifiers and Keys 518
15.6.2 Permission Structure 520
15.6.3 Configuration Limits 521
15.6.4 Advantages and Disadvantages 521
15.7 Message Queues 522
15.8 Semaphores 527
15.9 Shared Memory 533
15.10 Client-Server Properties 541
15.11 Summary 543
Chapter 16. Network IPC: Sockets 545
16.1 Introduction 545
16.2 Socket Descriptors 546
16.3 Addressing 549
16.3.1 Byte Ordering 549
16.3.2 Address Formats 551
16.3.3 Address Lookup 553
16.3.4 Associating Addresses with Sockets 560
16.4 Connection Establishment 561
16.5 Data Transfer 565
16.6 Socket Options 579
16.7 Out-of-Band Data 581
16.8 Nonblocking and Asynchronous I/O 582
16.9 Summary 583
Chapter 17. Advanced IPC 585
17.1 Introduction 585
17.2 STREAMS-Based Pipes 585
17.2.1 Naming STREAMS Pipes 589
17.2.2 Unique Connections 590
17.3 UNIX Domain Sockets 594
17.3.1 Naming UNIX Domain Sockets 595
17.3.2 Unique Connections 597
17.4 Passing File Descriptors 601
17.4.1 Passing File Descriptors over STREAMS-Based Pipes 604
17.4.2 Passing File Descriptors over UNIX Domain Sockets 606
17.5 An Open Server, Version 1 615
17.6 An Open Server, Version 2 620
17.7 Summary 629
Chapter 18. Terminal I/O 631
18.1 Introduction 631
18.2 Overview 631
18.3 Special Input Characters 638
18.4 Getting and Setting Terminal Attributes 643
18.5 Terminal Option Flags 643
18.6 stty Command 651
18.7 Baud Rate Functions 652
18.8 Line Control Functions 653
18.9 Terminal Identification 654
18.10 Canonical Mode 660
18.11 Noncanonical Mode 663
18.12 Terminal Window Size 670
18.13 termcap, terminfo, and curses 672
18.14 Summary 673
Chapter 19. Pseudo Terminals 675
19.1 Introduction 675
19.2 Overview 675
19.3 Opening Pseudo-Terminal Devices 681
19.3.1 STREAMS-Based Pseudo Terminals 683
19.3.2 BSD-Based Pseudo Terminals 686
19.3.3 Linux-Based Pseudo Terminals 689
19.4 pty fork Function 691
19.5 pty Program 694
19.6 Using the pty Program 698
19.7 Advanced Features 705
19.8 Summary 706
Chapter 20. A Database Library 709
20.1 Introduction 709
20.2 History 709
20.3 The Library 710
20.4 Implementation Overview 712
20.5 Centralized or Decentralized? 716
20.6 Concurrency 718
20.7 Building the Library 719
20.8 Source Code 719
20.9 Performance 747
20.10 Summary 752
Chapter 21. Communicating with a Network Printer 753
21.1 Introduction 753
21.2 The Internet Printing Protocol 753
21.3 The Hypertext Transfer Protocol 756
21.4 Printer Spooling 757
21.5 Source Code 758
21.6 Summary 805
Appendix A. Function Prototypes 807
Appendix B. Miscellaneous Source Code 843
B.1 Our Header File 843
B.2 Standard Error Routines 846
Appendix C. Solutions to Selected Exercises 853
Bibliography 885
Index 891

编辑推荐

十多年来,无数C程序员都依靠一本书深入了解了驱动UNIX和Linux内核的编程接口的实用知识,这本书就是已故的W R1chara SteVens所著的《UNIX环境高级编程》。十多年后,UNIX技术和产品已经有了巨大变化,本书的更新可以说是众望所归,现在Stevens的同事Stephen Rago彻底更新了这本经典著作,以反映最新的技术进展,并加入了对现今几种主流UNIX和Linux平台的支持。  Rago保留了使本书前版成为经典的精髓和方法:在Stevens原著的基础之上,新版增加了大量的新内容,包括讨论线程和多线程编程、使用套接字接口驱动进程间通信(IPC)的新章节等。 本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考书。

作者简介

本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第一版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版的风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外还在附录中给出了函数原型和部分习题的答案。
本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考书。

图书封面


 UNIX环境高级编程下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计3条)

  •     好书的妙处之一,就是能给你与作者交流的感觉。技术书籍常犯两个毛病,一个是着眼点太低,堆砌细节(比如谭浩强的《C程序设计》),读起来好像听和尚念经,无法交流。再一个就是着眼点太高,兜售哲学(比如ESR的《The Art of UNIX Programming》),读起来好像听于丹老师讲论语,不敢交流。此书的经典性就在于不高不低不多不少,把UNIX系统编程的来龙去脉向你娓娓道来。很多地方都可以让你感觉到,你的疑惑作者在写书的时候已经了如指掌。从疑惑到顿悟的那一瞬间的畅快感是学习最大的快乐。所以,我们的口号就是:有问题,找APUE。
  •     我读的是第二版的英文版,不得不说,英文版读起来比尤老翻译的版本顺畅的多,作者不是在堆砌技术细节,对技术原理和操作系统结构内幕也有提及,英文文笔很是流畅。回到正题,如果真的觉得要读这本书,那就从头读下去,不要断,也不要一开始就当做一本词典。这本书是一本越读越顺畅的书,可能之前有令人头疼的繁杂的函数、系统调用,甚至代码运行了好几次都没有搞清楚它是什么原理,但是那又有什么关系呢,慢慢的调试,只要持续的调试和阅读就好了,不要中断阅读,放下一个星期不看它,或许之后你也不再想看了。需要提及的是第二章,第二章我认为是这本书的关键,第二章领会了,后面也就跟着登堂入室。或许刚开始你找不到本书的代码,其实这本书有自己的网站http://www.apuebook.com/,上面的FAQ强烈建议好好看看,代码怎么编译运行,作者也提及了,csdn上也有例子。所以千万不要因为一些小的问题停止了前进的步伐,慢慢来,完整的把这本书读完。
  •     Rich Stevens显然不是Dennis Richie, Brian Kernighan那个贝尔实验室圈子的人。他对Unix的深入了解,是自己翻烂手册、钻研系统得到的。这个切入点,和我们多数用户是一样的。所以,我们想知道的东西,也许正是Stevens关心过的。看看他在N个系统上做的代码测试和对不同标准的比较就知道。我觉得这本书适合所有对Unix系统的种种感到好奇的人,Unix和Windows不同在于,它是个鼓励你思考的操作系统(换句话说对于想远离计算机的细节的用户可能不那么友好),只要你使用它有些时日,就会有很多问题冒出来:symbolic link和hard link区别究竟何在?daemon process是怎么回事?即便不写系统级的程序,只作为一般的unix用户,这本书里的信息也是弥足珍贵的。我对技术书籍的评价,一向以“解惑”为第一标准。这本书做到了。人民邮电出版社的这个影印版的纸张,相比眼下很多影印书籍,还算不错。开本和版面也保持了原书风貌。有一个细节让我觉得不解:封面和扉页上的Richard Stevens的名字都被框上了方框,不知算什么意思。啊,我知道,这是表示人死掉了,可那又怎么样呢,死掉了就死掉了么,为什么非得时刻提醒读者,作者已死呢?第二作者Rago有一天也会死啊,印古书又该怎么办呢?窃以为给死人画个框,逻辑上既不完善,也不大合乎审美。《辞海》之类大书的编委老学者很多,出版周期又长,所以编委名单上常见几个框框。可是我想这些死鬼们如果地下有知,也不会希望自己名字被框起来,以示尊重。

精彩短评 (总计89条)

  •     书的内容没说,读起来的会比中文版的顺畅,书的印刷质量也很好,拿在手里感觉很好
  •       这本书基本是断断续续读了好几次,终于在接触了更多的Linux知识后把这本书重新读了一遍,这本书不光介绍的是Unix的API,更介绍了其背后的原理和应该注意的东东。现在很久没有写Unix/Linux下c编程了,虽然API又忘了,但是从这本书得到背后的原理性的东东让快速捡起来还是很容易的。推荐《Unix入门经典》+《UNIX环境高级编程》+《Linux系统编程》
  •     啥垃圾书进那么快,这好书还不赶紧进。
  •     程序员随手必备,看是不够的,要翻,常翻。
  •     去年读的时候完全读不进去, 今年水平好些的还有点意思
  •     参考手册级别的一砖头啊
  •     两天读了三分之一。。。大牛~~~
  •     英文版比较爽。中文版某些章节翻译实在不给力。
  •     混口饭吃的工具
  •     还行...
  •     适时写个书评。
  •     Unix编程的百科全书。orz richard stevens
  •     看到 unix domain socket
  •     Many of you who learnt unix in the 90s would have cut your teeth on the first edition of this book. This second edition should be well received. It encapsulates the changes in the unix world since 92. Most importantly, it shows the rise of linux. A rise that is still unabated.Broadly, the structure of this edition matches the first edition. Rago was brought in as co-author after Stevens died in 99, and he has deliberately kept this consistency. I was glad to see that Rago kept the exercises at the end of each chapter. Many computer books seem to dispense with this, which can be a p...ity for anyone who needs hands on tasks to learn from.The threading chapters are a significant change from the first edition. Not simple reading, but they do reflect powerful ways to possibly optimise your code. The biggest cost for you may be the effort you need to invest in understanding the coding issues in these chapters. Rago's code examples are deliberately short, and necessarily somewhat artificial. But they do demonstrate well the various threading issues.Of course, other chapters have had minimal alterations. How much have terminal I/O or pseudoterminals changed in 10 years? Those chapters may be old friends to you. 阅读更多 ›
  •     重点在环境二字上。
  •     书刚买回来,发现作者名字加了个框,震惊了一下。
  •       这段时间在学unix系统编程,在看apue的时候,时常会有种这本书这么牛叉,这么厚,会不会不容易看明白的感觉,然后看到不太明白的用法就粗粗看下去了。
      
      昨天是学完高编阶段的小测试,一道编程题,一天时间完成,完成后忽然就有信心了,觉得其实都不难,不过是些函数的调用,没有复杂的结构设计,思想。
      
      晚上翻看taocp的时候,看到unix hack之趣那节忽然明白这种状况了。在恰好力所能及的范围内,完成一个稍微有些挑战性,需要付出一些努力的任务,能很好地提高信心跟能力,编程学习如此,其他东西也是这样的吧。
      
      摘自taocp —— 1.5.6 Unix Hack之趣
      http://book.51cto.com/art/201012/239374.htm
      
       ......从设计角度来说,趣味性也绝非无足轻重。对于程序员和开发人员来说,如果完成某项任务所需要付出的努力对他们是个挑战却又恰好还在力所能及的范围内,他们就会觉得很有乐趣。因此,趣味性是一个峰值效率的标志......
      
      学unix高编的时候,培训的一个老师语焉不详地告诉我们,其实你们如果有信心,自己买几本书,多看看就明白了。。。
      
      我们大多数人,特别是在学习的初级阶段,碰到有些困难的地方,容易灰心受挫。信心真的很重要,这样在不明白的地方,就会积极主动地寻找线索,google或者请教别人找出答案,这个过程是兴奋有趣的。
      
      一言以蔽之——信心能提高智商,情商。。。?
      想想大力水手的菠菜吧。。。
      
  •     细节繁复的手册书。以目前的水平,浏览一遍的收获只有了解了几个概念。
  •     个人觉得,对unix-like 系统 和操作系统原理的各类都有分析。
  •     不敢说真的看完了这本书,写操作系统大作业的时候狠狠的抱着这本书啃了好几天,当时就发誓再也不碰它了= = 现在看来还是觉得很吸引,买了英文版收藏
  •       最近在读这本unix环境高级编程,刚开始读的时候,很有激情,一些实例程序也会自己动手去实现以下,但是看到200多页的时候,感觉就没有什么激情了,甚至有时候看时间长了会有种要吐的感觉,而且以前看过的又都忘记了,我想请问下大家,你们都是怎么来读这本书的呢?
  •     已经阅读过人邮出版的《UNIX环境高级编程》英文版,中文版当参考吧。
  •     经典。中文的翻译实在太差,建议直接看英文原版。
  •     有不懂的api我就翻这本书了,非常不错
  •       这本书是操作系统课用的教材。第一遍看是被逼无奈,只觉得云里雾里。最大的感受就是这TM写的神马玩意?这书也能得9点几分?于是乎考完试就放下再也没管过了。
      
      直到几个月前再次翻阅时,感受却已经大不相同。
      
      所以我得更新一下评价,五星好评了。
      
      每本书都有它的受众,技术书籍更是如此。当自己水平没到时强逼自己看一些所谓“经典”,那就是在浪费时间,和看垃圾书无异。
      
      之前我在评论里抱怨有些知识点一笔带过,搞的很头大。现在想想实在是因为这书已经够厚了,必须有所取舍。有些基础知识只好假定读者已经了解。
      
      不过随着了解的深入(好吧其实一点也不深入……),才发现“高级”只是相对于入门的童鞋来说的。真正要了解linux,读完它,才刚上路。
      
      关于翻译。由于我也粗略扫过英文版的第三版,翻译中除了很少的一些小错误之外,几位译者的水平我绝对是深深佩服的。好几次当有些句子百思不得其解时,看看对应的中文便豁然开朗。所以如果你感觉自己有能力看这本书了,放心大胆的看中文版吧。
      
      虽然第二版有些东西早已过时(例如linux的线程早已标准化,而不再是“轻量级进程”;第二版中作者花了大量篇幅介绍的的STREAM机制也即将废除),但经典的原理是不会过时的。
      
      
  •     还是要常看常新。。。。。。
  •     就内容而言,无可挑剔,我是配合着《鸟哥的私房菜》一起看的,鸟哥的书介绍怎么用,这本书介绍内部原理,想学linux,或者是unix的,这本书一定不要错过。然后就是一定要选英文版的,中文版的,说实话,很多翻译都很拗口,或者根本就是不对的,可以从网上下个中文版的看看。
  •     我觉得翻译没错。二者是排他的,一个函数要么返回负值要么按照约定返回。不能同时即返回负值还使用“约定”。这里的约定是指出错时返回null等。
  •     看别人说的汉语翻译的版本,翻译质量不敢恭维,果断买了了英文版。慢慢啃,感觉还可以,只要认识单词,英文说的好像比汉语的更容易理解。
  •     这种nb书,你们一定要一次进他个百把本才够卖的。我的心在等待!
  •     看了三分之二了,只是后来转看其他书没有继续下去,也就当工具书时再去翻看看。看的时候没有复习。估计现在忘了很多了吧,只剩下了个印象了估计。还是当工具书用的时候去查吧~先下架.
  •     既然投入nix领域,那就读一下
  •     只是仅仅读过而已。。。
  •       在学习操作系统课程的时候,老师推荐了这本书作为参考书。
      这的确是一本很全面的书籍,关于UNIX操作系统的很多东西都提到了,而且重点函数都有详尽的解释,而且作者使用的语言通俗易懂,并不生硬,读起来时不时就会有恍然大悟的感觉。
      
      然而,由于这本书内容实在是太多太详尽了,不推荐一些业余爱好者读这本书(当然如果你是那种骨灰级的爱好者另当别论),对于用UNIX编程的人来说,这本书就像字典一样有极大的帮助。
      
      PS:我买的是影印版……没弄懂封面那个笑话是啥意思……
  •     UNIX环境高级编程(英文版)(第2版)
  •       我看了前3章,后来觉得笨重就看电子版,又找到原书chm版。翻译的非常像机器翻译。不如看英文。抱歉,你的评论太短了抱歉,你的评论太短了抱歉,你的评论太短了抱歉,你的评论太短了抱歉,你的评论太短了抱歉,你的评论太短了抱歉,你的评论太短了抱歉,你的评论太短了
  •     绝对是经典,让我一个从前做底层的人对linux的应用层和系统层也产生了兴趣。
  •     外面的包装很完整,书很完整,字迹清晰,纸张适宜,非常好
  •       或许是因为我不是第一次接触系统编程,或许我看过《Windows核心编程》,我一直觉得这本书没有《windows核心编程》那么精彩。
       APUE覆盖的范围很广,但是有些地方感觉不太详细。算了,先写到这里
  •     这本...真的是无敌参考书啊...
  •     我把她跟《鸟哥的私房菜》一起读的,一直读确实有点累,有些示例代码我先不看,看完再在电脑上一并测试实现一下
  •       看了前7章都还翻译的可以,基本上意思都对了,语言也通顺,还能用一些本土化的语言,很不错。
      
      第8章就有些差劲,有些地方词不达意,还喜欢自作聪明的加括号做解释,搞得更看不明白了。回头看看原文,确是很明白的意思。
  •     被誉为unix编程圣经,无需多说
  •     非常系统
  •     经典,看起来像在读历史的感觉
  •     经典无须多言
  •     不错啊 正版书 看得舒服
  •     真正的神器不需要解释。。书还可以
  •     每个系统程序员都应该阅读和实践的书籍.
  •     如果要做Unix、Linux系统或者嵌入式应用开发,这是不可缺的一本书啊而且技术书语言通俗易懂,不像《设计模式》思想类的那么晦涩
  •     以前老大传我电子版的时候告诉我这就是C语言的圣经。
  •     圣书
  •     神书,这学期学unix收获很大。
  •       我读的是第二版的英文版,不得不说,英文版读起来比尤老翻译的版本顺畅的多,作者不是在堆砌技术细节,对技术原理和操作系统结构内幕也有提及,英文文笔很是流畅。
      
      回到正题,如果真的觉得要读这本书,那就从头读下去,不要断,也不要一开始就当做一本词典。
      
      这本书是一本越读越顺畅的书,可能之前有令人头疼的繁杂的函数、系统调用,甚至代码运行了好几次都没有搞清楚它是什么原理,但是那又有什么关系呢,慢慢的调试,只要持续的调试和阅读就好了,不要中断阅读,放下一个星期不看它,或许之后你也不再想看了。
      
      需要提及的是第二章,第二章我认为是这本书的关键,第二章领会了,后面也就跟着登堂入室。或许刚开始你找不到本书的代码,其实这本书有自己的网站http://www.apuebook.com/,上面的FAQ强烈建议好好看看,代码怎么编译运行,作者也提及了,csdn上也有例子。所以千万不要因为一些小的问题停止了前进的步伐,慢慢来,完整的把这本书读完。
  •     书不错,送货也很快。缺点就是,快递的包装不好!为什么不加个防撞的塑料泡沫之类的?这本书送到我手里都有些脏了。
  •     经典, 代码比较丰富, 很严谨, 基本上对Unix方面的开发都有涉及.
  •     二者不是排他的吧?返回负值是函数可以做到的,使用约定是有内核帮忙做到的,我觉得这二者可以同时存在。只是对于某些函数,它的出错情况比较复杂,使用约定比返回负值更好。当然,英文原文使用的是other than ,当然不会像楼主那样翻译啦。
  •     只闻其名不见其身
  •        其实,还没有看完。周六日上不了网,无聊之际拿起了这本书看了看,结果一下就吸引了我。利用这两天看了三分之一。
       怎么说呢,好像有些人天生适合当老师,同样的知识,在他讲来就能条理清楚,不时有一种恍然的感觉,而别人讲授起来,却没有。作者就像个情场老手,似乎总能知道你想了解什么,你的疑惑在哪里,讲的东西都是你想知道的。还有,比较全面,除了告诉你怎么做还把可能造成的问题都告诉了你,而有些书只是告诉你可以怎么做。另外,此书还有相当大的知识密度,似乎每句话都能切中要点,都能表达清晰。
       有很强的阅读快感,果真名不虚传。
  •     买来送学弟的,很好的工具书。
  •     UNIX经典书书
  •     勉强算读过
  •     上班遇到不会的了就查查,作为工作当中的工具书甚是顺手!
  •     一个周显然不能完全掌握Unix环境编程,同样读一遍也不足以学会书中的所有细节。 先读了一下前面的几章,建立一些概念。下面要仔细研读了.(2008.04.28)
  •     留着20,21章复习时看
  •       所有程序都在四个UNIX平台下测试过,兼容性不用多说!
      讲述的内容非常全面,原理讲得很透彻。每读完一章都有很多收获。
      对于有经验的程序员,拿来做参看书也很合适。
      可惜的是linux内核版本是2.4的。
      最后章实现了一个小型的数据库,有空细细拜读!!
  •     UNIX环境下编程的入门经典。
  •       原文1.7 Error Handling
      Some functions use a convention other than returning a negative value.
      翻译为:某些函数并不返回负值而是使用另一中约定。
      为什么不翻译为:某些函数除了返回负值以外还使用约定?
  •     最初读是因为要面试啊,各种生啃啊,经过长时间的努力,然后我就啃完了。
  •     APUE 哦~
  •     UNIX系统编程的高级圣经!
  •       所有程序都在四个UNIX平台下测试过,兼容性不用多说!
      讲述的内容非常全面,原理讲得很透彻。每读完一章都有很多收获。
      对于有经验的程序员,拿来做参看书也很合适。
      可惜的是linux内核版本是2.4的。
      最后章实现了一个小型的数据库,有空细细拜读!!
  •       /*
      **
      * 严重警告:
      * 完整读完本书的人可能会失去所有的泡妞必杀技,严重者可能会导致无
      * 法完整地完成约会!
      */
      
      if (你是单身人士){
       为了自己的子孙后代请远离此书!
      } else{
       为了婚后的幸福生活请配合其他娱乐书籍一起阅读。
      }
      
      欲读此书,必先自“宫”
  •     寄来的书没有用泡泡纸包装好,就个塑料袋而已。快递一路磕磕碰碰,弄得书好脏,好难看!!!
  •     啃这本书,需要的是耐心,细心,还有一点点信心。
  •     给力给力给力给力给力!!!
  •     bible级别的。
  •     还有哪本比这本好的吗?
  •     讲授unix系统调用的经典书籍,以四种典型unix系统为例
  •     虽然有些地方说不够清楚,但是总的来说还是不错的一本书。
  •     圣经
  •     书确实不粗 为什么必须十个字呢&…
  •     书挺好的,暂时未发现缺点
  •     只需要这一本书就够了
  •       这本书还没读完,毕竟比较厚,内容还是挺多的,但是读了很有启发,编写linux应用程序仅仅知道API是不够的,对原理的理解以及从系统角度的思考将会大大提高编程能力。这本书是致力于linux相关行业开发人员必备的参考书,会继续研读!
  •     好书,进货啊进货啊!
  •     完美的书,socket方面如果能多讲一点就更好了
  •     linux编程必读 浅显易懂
  •     顶阿。。。。现在看信号那章。。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024