图书介绍
Linux高级程序设计PDF|Epub|txt|kindle电子书版本网盘下载
![Linux高级程序设计](https://www.shukui.net/cover/52/33248429.jpg)
- 杨宗德,邓玉春编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115213907
- 出版时间:2009
- 标注页数:432页
- 文件大小:177MB
- 文件页数:445页
- 主题词:Linux操作系统-程序设计
PDF下载
下载说明
Linux高级程序设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Linux下C语言开发环境1
1.1 Linux操作系统简介2
1.1.1 Linux操作系统简介2
1.1.2 GNU/Linux简介3
1.1.3相关术语介绍3
1.2 Linux开发初步5
1.2.1 Linux下C程序标准5
1.2.2库函数和系统调用7
1.2.3在线文档介绍9
1.2.4获取错误信息10
1.3部分常用工具简介11
1.3.1 tar打包器11
1.3.2 Linux常用命令及工具12
1.4 Linux下编码风格16
1.4.1 GNU编码规范16
1.4.2 Linux内核编码规范17
第2章 Linux下C语言开发工具20
2.1常用编辑工具22
2.1.1 VIM编辑器22
2.1.2 Emacs编辑器24
2.1.3 Source Insight工具25
2.2 GCC编译工具29
2.2.1 GCC/G++简介30
2.2.2头文件及预处理结果分析34
2.3 Make工具与Makefile文件36
2.3.1 Make工具简介36
2.3.2 Makefile常用规则39
2.4常用调试工具41
2.4.1 GDB调试工具简介41
2.4.2 GDB演示示例42
2.4.3 GDB调试器常用语法43
2.4.4 strace45
2.4.5 GCC程序开发过程实例46
2.5 Linux库文件使用与创建49
2.5.1 Linux系统库文件管理的基本策略49
2.5.2 Linux下静态库的创建与使用50
2.5.3 Linux下共享库创建及使用52
2.5.4静态库与共享库的区别54
2.6 Autoconf/Automake自动化工具54
2.6.1 Autoconf/Automake工具介绍54
2.6.2 Autoconf/Automake工具使用示例55
第3章 Linux进程存储管理61
3.1 Linux程序存储结构与进程结构62
3.1.1 Linux可执行文件结构62
3.1.2 Linux进程结构63
3.1.3 C变量及函数存储类型64
3.1.4栈和堆的区别69
3.1.5示例:查看代码中各数据存储位置70
3.1.6常见内存错误示例分析73
3.2 ANSI C内存管理API函数74
3.2.1内存分配的基本方式74
3.2.2示例:为程序申请动态内存空间74
3.2.3内存数据管理函数78
3.3常用Linux内存管理及调试工具80
3.3.1 mcheck函数80
3.3.2 Valgrind内存检测工具82
3.4 Linux进程环境及系统限制85
3.4.1进程与命令参数85
3.4.2进程与环境变量90
3.4.3 Linux系统限制91
3.4.4 Linux时间管理93
第4章 ANSI C文件管理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.2 ANSI C标准文件I/O操作105
4.2.1打开关闭文件105
4.2.2读写文件流107
4.2.3文件流定位111
4.2.4实现文件拷贝操作示例113
4.3格式化输入/输出函数操作114
4.3.1 printf/scanf函数分析114
4.3.2 fprintf/fscanf函数分析115
4.3.3 sprintf函数分析116
4.3.4 sscanf函数分析118
第5章 POSIX文件及目录管理121
5.1文件描述符与内核文件表项122
5.1.1文件流与文件描述符的区别122
5.1.2文件表结构图123
5.1.3文件描述符与文件流的转换操作123
5.2 POSIX标准下文件IO管理125
5.2.1创建/打开/关闭文件126
5.2.2文件控制fcntl129
5.2.3读/写文件内容131
5.2.4使用POSIX IO实现文件拷贝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.1 Linux文件系统管理144
6.1.1 Linux下VFS虚拟文件系统144
6.1.2 ext2文件系统结构145
6.1.3目录文件及常规文件存储方法147
6.2 Linux系统下文件类型及属性147
6.2.1 Linux文件类型及权限147
6.2.2 Linux文件类型148
6.2.3文件权限修饰位151
6.2.4文件访问权限位152
6.3 Linux文件属性管理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应用示例:实现ls-l基本操作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.3 Linux特殊进程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.1 Linux常见信号与处理226
8.3.2产生信号229
8.3.3信号处理与signal安装信号233
8.3.4 sigaction安装信号234
8.3.5信号集与屏蔽信号238
8.3.6等待信号244
8.3.7信号应用示例246
第9章 System V进程间通信250
9.1 System VIPC基础252
9.1.1 key值和ID值252
9.1.2拥有者及权限254
9.2消息队列254
9.2.1消息队列IPC原理254
9.2.2 Linux消息队列管理257
9.2.3消息队列应用实例259
9.3信号量通信机制264
9.3.1信号量IPC原理264
9.3.2 Linux信号量管理操作265
9.3.3 SEM_UNDO参数的应用270
9.3.4使用信号量实现生产消费问题272
9.4共享内存275
9.4.1共享内存IPC原理275
9.4.2 Linux共享内存管理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章 Linux socket网络编程329
12.1网络通信基础330
12.1.1 TCP/IP协议簇基础330
12.1.2 IPV4协议基础331
12.1.3网络数据包封包与拆包过程334
12.2 BSD Socket网络通信编程339
12.2.1 BSD TCP通信编程流程339
12.2.2 BSD UDP通信编程流程341
12.2.3 BSD Socket网络编程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.1 Linux下域名解析过程365
13.2.2通过域名返回主机信息366
13.2.3通过域名和Ip返回主机信息367
13.2.4 getaddrinfo获取主机信息368
13.3控制socket文件描述符属性371
13.3.1 set/getsockopt()修改socket属性371
13.3.2 fcntl控制socket374
13.3.3 ioctl控制文件描述符374
13.4网络调试工具377
13.4.1 tcpdump的使用378
13.4.2 netstat工具使用380
13.4.3 lsof工具使用381
第14章 网络编程高级应用383
14.1 I/O阻塞与非阻塞操作应用384
14.1.1非阻塞处理方法384
14.1.2非阻塞应用示例384
14.2 socket多路复用技术388
14.2.1 select()函数介绍388
14.2.2 pselect()函数390
14.2.3多路选择应用示例390
14.3 socket信号驱动396
14.3.1各类I/O操作比较396
14.3.2 SIGIO信号处理机制397
14.3.3 UDP信号驱动实现应用示例398
14.4 UDP广播与组播通信401
14.4.1广播地址与广播通信401
14.4.2组播地址与组播通信403
14.4.3 UDP广播应用示例404
14.4.4 UDP组播应用示例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.1 xinetd服务介绍421
15.2.2应用示例422
15.3构建简单的HTTP网络服务器423
15.3.1服务器运行及测试结果424
15.3.2主函数运行流程425
15.3.3支撑函数427