Linux高级程序设计
正版图书带塑封 当天发货 8988933368848580610
¥
7.2
1.5折
¥
49
九品
仅1件
作者杨宗德、邓玉春 著
出版社人民邮电出版社
出版时间2009-10
版次2
装帧平装
货号8988933368848580610
上书时间2024-12-28
商品详情
- 品相描述:九品
图书标准信息
-
作者
杨宗德、邓玉春 著
-
出版社
人民邮电出版社
-
出版时间
2009-10
-
版次
2
-
ISBN
9787115213907
-
定价
49.00元
-
装帧
平装
-
开本
16开
-
纸张
胶版纸
-
页数
432页
-
字数
660千字
-
正文语种
简体中文
- 【内容简介】
-
《Linux高级程序设计(第2版)》以Linux操作系统(内核为2.6版本)为开发平台、GCC4.0/GDB6.3为开发调试环境,详细介绍了Linux系统下编程环境及编程工具、文件管理(文件类型、ANSI以及POSIX标准下文件读写操作)、进程管理(创建、退出、执行、等待、属性控制)、进程间通信(管道、消息队列、共享内存)、进程间同步机制(信号量)、进程间异步机制(信号)、线程管理(创建、退出、取消等以及属性控制)、线程间同步(互斥锁、读写锁、条件变量)以及网络基本编程、高级应用等内容。
《Linux高级程序设计(第2版)》内容丰富、紧扣应用,适合从事Linux下C应用编程的人员阅读,也适合从事嵌入式Linux开发的人员阅读。
- 【目录】
-
第1章Linux下C语言开发环境1
1.1Linux操作系统简介2
1.1.1Linux操作系统简介2
1.1.2GNU/Linux简介3
1.1.3相关术语介绍3
1.2Linux开发初步5
1.2.1Linux下C程序标准5
1.2.2库函数和系统调用7
1.2.3在线文档介绍9
1.2.4获取错误信息10
1.3部分常用工具简介11
1.3.1tar打包器11
1.3.2Linux常用命令及工具12
1.4Linux下编码风格16
1.4.1GNU编码规范16
1.4.2Linux内核编码规范17
第2章Linux下C语言开发工具20
2.1常用编辑工具22
2.1.1VIM编辑器22
2.1.2Emacs编辑器24
2.1.3SourceInsight工具25
2.2GCC编译工具29
2.2.1GCC/G++简介30
2.2.2头文件及预处理结果分析34
2.3Make工具与Makefile文件36
2.3.1Make工具简介36
2.3.2Makefile常用规则39
2.4常用调试工具41
2.4.1GDB调试工具简介41
2.4.2GDB演示示例42
2.4.3GDB调试器常用语法43
2.4.4strace45
2.4.5GCC程序开发过程实例46
2.5Linux库文件使用与创建49
2.5.1Linux系统库文件管理的基本策略49
2.5.2Linux下静态库的创建与使用50
2.5.3Linux下共享库创建及使用52
2.5.4静态库与共享库的区别54
2.6Autoconf/Automake自动化工具54
2.6.1Autoconf/Automake工具介绍54
2.6.2Autoconf/Automake工具使用示例55
第3章Linux进程存储管理61
3.1Linux程序存储结构与进程结构62
3.1.1Linux可执行文件结构62
3.1.2Linux进程结构63
3.1.3C变量及函数存储类型64
3.1.4栈和堆的区别69
3.1.5示例:查看代码中各数据存储位置70
3.1.6常见内存错误示例分析73
3.2ANSIC内存管理API函数74
3.2.1内存分配的基本方式74
3.2.2示例:为程序申请动态内存空间74
3.2.3内存数据管理函数78
3.3常用Linux内存管理及调试工具80
3.3.1mcheck函数80
3.3.2Valgrind内存检测工具82
3.4Linux进程环境及系统限制85
3.4.1进程与命令参数85
3.4.2进程与环境变量90
3.4.3Linux系统限制91
3.4.4Linux时间管理93
第4章ANSIC文件管理96
4.1文件及文件流98
4.1.1文件与流的基本概念98
4.1.2标准流及流主要功能99
4.1.3文件流指针100
4.1.4缓冲区类型101
4.1.5指定流缓冲区103
4.2ANSIC标准文件I/O操作105
4.2.1打开关闭文件105
4.2.2读写文件流107
4.2.3文件流定位111
4.2.4实现文件拷贝操作示例113
4.3格式化输入/输出函数操作114
4.3.1printf/scanf函数分析114
4.3.2fprintf/fscanf函数分析115
4.3.3sprintf函数分析116
4.3.4sscanf函数分析118
第5章POSIX文件及目录管理121
5.1文件描述符与内核文件表项122
5.1.1文件流与文件描述符的区别122
5.1.2文件表结构图123
5.1.3文件描述符与文件流的转换操作123
5.2POSIX标准下文件IO管理125
5.2.1创建/打开/关闭文件126
5.2.2文件控制fcntl129
5.2.3读/写文件内容131
5.2.4使用POSIXIO实现文件拷贝133
5.2.5文件定位134
5.2.6同步内核缓冲区135
5.2.7映射文件到内存136
5.3目录文件基本操作137
5.3.1打开/关闭目录文件138
5.3.2读写目录内容138
5.3.3定位目录位置140
5.3.4添加删除目录140
5.3.5当前工作路径操作141
第6章普通文件.连接文件及目录文件属性管理143
6.1Linux文件系统管理144
6.1.1Linux下VFS虚拟文件系统144
6.1.2ext2文件系统结构145
6.1.3目录文件及常规文件存储方法147
6.2Linux系统下文件类型及属性147
6.2.1Linux文件类型及权限147
6.2.2Linux文件类型148
6.2.3文件权限修饰位151
6.2.4文件访问权限位152
6.3Linux文件属性管理153
6.3.1读取文件属性153
6.3.2修改文件权限操作156
6.3.3修改系统umask值157
6.3.4修改文件的拥有者及组158
6.3.5用户名/组名与UID/GID的转换159
6.3.6创建/删除硬连接160
6.3.7符号连接文件特殊操作161
6.3.8文件时间属性修改与时间处理162
6.4应用示例:实现1s-1基本操作164
6.4.1需求及知识点涵盖164
6.4.2流程及源代码实现164
第7章Linux进程管理与程序开发169
7.1进程环境及进程属性170
7.1.1进程资源170
7.1.2进程状态170
7.1.3进程基本属性172
7.1.4进程用户属性176
7.2进程管理及控制179
7.2.1创建进程179
7.2.2在进程中运行新代码185
7.2.3等待进程结束189
7.2.4退出进程191
7.2.5修改进程用户相关信息194
7.2.6进程调度管理函数197
7.3Linux特殊进程202
7.3.1守候进程及其创建过程202
7.3.2日志信息及其管理203
7.3.3守候进程应用示例205
7.3.4孤儿进程与僵死进程207
第8章进程间通信——管道和信号210
8.1进程间通信——PIPE212
8.1.1无名管道概念212
8.1.2无名管道管理及应用212
8.1.3文件描述符重定向215
8.1.4实现who|sort218
8.1.5流重定向220
8.2进程间通信——FIFO221
8.2.1有名管道概念221
8.2.2有名管道管理及应用222
8.2.3管道基本特点总结225
8.3信号中断处理226
8.3.1Linux常见信号与处理226
8.3.2产生信号229
8.3.3信号处理与signal安装信号233
8.3.4sigaction安装信号234
8.3.5信号集与屏蔽信号238
8.3.6等待信号244
8.3.7信号应用示例246
第9章SystemV进程间通信250
9.1SystemVIPC基础252
9.1.1key值和ID值252
9.1.2拥有者及权限254
9.2消息队列254
9.2.1消息队列IPC原理254
9.2.2Linux消息队列管理257
9.2.3消息队列应用实例259
9.3信号量通信机制264
9.3.1信号量IPC原理264
9.3.2Linux信号量管理操作265
9.3.3SEM_UNDO参数的应用270
9.3.4使用信号量实现生产消费问题272
9.4共享内存275
9.4.1共享内存IPC原理275
9.4.2Linux共享内存管理276
9.4.3共享内存的权限管理示例278
9.4.4共享内存处理应用示例279
9.4.5共享内存处理应用示例281
第10章Linux多线程编程285
10.1线程基本概念与线程操作286
10.1.1线程与进程的对比286
10.1.2创建线程287
10.1.3线程退出与等待288
10.1.4取消线程291
10.1.5线程与私有数据294
10.2线程属性控制297
10.2.1线程ID298
10.2.2初始化线程属性对象298
10.2.3获取/设置线程detachstate属性299
10.2.4获取/设置线程栈相关属性300
10.2.5线程属性控制实例301
10.3线程调度策略303
10.3.1获取/设置线程属性调度属性303
10.3.2获取/设置指定线程调度属性305
第11章线程间同步机制309
11.1互斥锁通信机制310
11.1.1互斥锁基本原理310
11.1.2互斥锁基本操作310
11.1.3互斥锁应用实例311
11.2条件变量通信机制313
11.2.1条件变量基本原理313
11.2.2条件变量基本操作315
11.2.3条件变量应用实例316
11.3读写锁通信机制320
11.3.1读写锁基本原理320
11.3.2读写锁基本操作320
11.3.3读写锁应用实例322
11.4线程与信号325
11.4.1线程信号管理325
11.4.2线程信号应用实例326
第12章Linuxsocket网络编程329
12.1网络通信基础330
12.1.1TCP/IP协议簇基础330
12.1.2IPV4协议基础331
12.1.3网络数据包封包与拆包过程334
12.2BSDSocket网络通信编程339
12.2.1BSDTCP通信编程流程339
12.2.2BSDUDP通信编程流程341
12.2.3BSDSocket网络编程API342
12.2.4使用AF_UNIX实现本机数据流通信示例349
12.2.5使用AF_INET实现UDP点对点通信示例352
12.3使用TCP实现简单聊天程序354
12.3.1服务器端代码分析355
12.3.2客户器端代码分析357
第13章网络编程工具介绍359
13.1地址处理函数说明360
13.1.1大小端问题与网络字节顺序360
13.1.2字节顺序处理函数361
13.1.3点分十进制IP地址与二进制IP地址转换363
13.1.4通过IP地址获取网络ID和主机ID365
13.2域名与IP信息解析365
13.2.1Linux下域名解析过程365
13.2.2通过域名返回主机信息366
13.2.3通过域名和IP返回主机信息367
13.2.4getaddrinfo获取主机信息368
13.3控制socket文件描述符属性371
13.3.1set/getsockopt()修改socket属性371
13.3.2fcntl控制socket374
13.3.3ioctl控制文件描述符374
13.4网络调试工具377
13.4.1tcpdump的使用378
13.4.2netstat工具使用380
13.4.3lsof工具使用381
第14章网络编程高级应用383
14.1I/O阻塞与非阻塞操作应用384
14.1.1非阻塞处理方法384
14.1.2非阻塞应用示例384
14.2socket多路复用技术388
14.2.1select()函数介绍388
14.2.2pselect()函数390
14.2.3多路选择应用示例390
14.3socket信号驱动396
14.3.1各类I/O操作比较396
14.3.2SIGIO信号处理机制397
14.3.3UDP信号驱动实现应用示例398
14.4UDP广播与组播通信401
14.4.1广播地址与广播通信401
14.4.2组播地址与组播通信403
14.4.3UDP广播应用示例404
14.4.4UDP组播应用示例407
14.5原始套接口基本应用412
14.5.1原始套接口基本原理412
14.5.2原始套接口应用示例412
第15章构建网络服务器415
15.1多客户端实现416
15.1.1多进程实现多客户端416
15.1.2多线程实现多客户端420
15.2基于xinetd的网络服务应用420
15.2.1xinetd服务介绍421
15.2.2应用示例422
15.3构建简单的HTTP网络服务器423
15.3.1服务器运行及测试结果424
15.3.2主函数运行流程425
15.3.3支撑函数427
点击展开
点击收起
— 没有更多了 —
以下为对购买帮助不大的评价