图书介绍
Linux高级程序设计PDF|Epub|txt|kindle电子书版本网盘下载
![Linux高级程序设计](https://www.shukui.net/cover/45/31783773.jpg)
- 杨宗德,邓玉春等编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115171696
- 出版时间:2008
- 标注页数:408页
- 文件大小:207MB
- 文件页数:421页
- 主题词: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.2.5 Linux应用程序示例11
1.3 Linux内核及库文件管理12
1.3.1 Linux内核目录结构13
1.3.2 使用Linux系统库文件14
1.3.3 创建静态库和共享库17
1.4 Linux下编码风格19
1.4.1 GNU编码规范19
1.4.2 Linux内核编码规范20
第2章 Linux下C语言开发工具23
2.1 Linux开发的基本工具24
2.1.1 Vim编辑器24
2.1.2 Emacs编辑器26
2.1.3 tar打包器27
2.1.4 Linux编程常用命令及工具28
2.2 GCC/G++编译器36
2.2.1 GCC/G++简介36
2.2.2 Glibc库43
2.2.3 GCC不同编译选项对程序的影响45
2.3 make工具及makefile文件49
2.3.1 make工具简介49
2.3.2 makefile常用规则52
2.4 GDB调试工具54
2.4.1 GDB调试工具简介54
2.4.2 GDB演示示例55
2.4.3 GDB调试器常用语法56
2.5 GCC程序开发过程实例58
2.6 自动编译调试工具61
2.6.1 Autoconf/Automake工具组简介61
第3章 内存管理及相关工具69
3.1 内存管理基本概念70
3.1.1 C程序内存分配70
3.1.2 栈和堆的区别72
3.1.3 Linux数据类型大小73
3.1.4 数据存储区域实例75
3.2 内存管理函数77
3.2.1 malloc/free函数77
3.2.2 realloc——更改已经配置的内存空间80
3.2.3 其他内存管理函数calloc和alloca82
3.3 常用Linux内存管理及调试工具82
3.3.1 mcheck函数83
3.3.2 Valgrind内存检测工具84
第4章 ANSIC文件管理89
4.1 文件基本概念及文件指针90
4.1.1 文件基本概念90
4.1.2 文件指针91
4.2 ANSIC标准文件I/O操作93
4.2.1 缓冲区类型93
4.2.2 打开关闭文件96
4.2.3 读写文件流98
4.2.4 文件流定位102
4.2.5 格式化输入输出函数103
第5章 POSIX标准文件I/O管理107
5.1 Linux系统下文件类型及属性108
5.1.1 Linux文件模式108
5.1.2 Linux文件类型108
5.1.3 文件权限修饰位111
5.1.4 文件访问权限位112
5.1.5 文件描述符113
5.2 POSIX标准下文件I/O管理114
5.2.1 创建/打开/关闭文件114
5.2.2 文件控制fcntl117
5.2.3 lockf文件控制121
5.2.4 锁定/解锁文件flock122
5.2.5 读/写文件内容124
5.2.6 文件定位127
第6章 Linux文件管理及目录操作129
6.1 Linux文件系统管理130
6.1.1 Linux下VFS虚拟文件系统130
6.1.2 ext2文件系统结构131
6.1.3 超级块结构131
6.1.4 dentry结构132
6.1.5 Inode块133
6.1.6 数据块及文件135
6.2 Linux文件及目录管理操作136
6.2.1 读取文件属性136
6.2.2 修改文件权限操作138
6.2.3 修改掩码umask140
6.2.4 修改文件的拥有者及组141
6.2.5 添加删除目录142
6.2.6 连接文件管理142
6.2.7 当前目录操作143
第7章 Linux进程管理与程序开发147
7.1 进程环境及进程属性148
7.1.1 程序及进程环境148
7.1.2 进程的基本属性149
7.2 Linux进程控制153
7.2.1 创建进程153
7.2.2 运行新进程158
7.2.3 等待进程结束160
7.2.4 退出进程166
7.2.5 修改进程用户相关信息168
7.2.6 复制进程172
7.3 Linux进程调度173
7.3.1 进程状态173
7.3.2 Linux常用调度算法174
7.3.3 调度管理函数176
第8章 进程间通信——管道和信号183
8.1 进程通信——无名管道184
8.1.1 无名管道概念184
8.1.2 无名管道管理及应用184
8.2 进程通信——有名管道FIFO190
8.2.1 有名管道概念190
8.2.2 有名管道管理及应用191
8.3 信号中断处理194
8.3.1 信号的基本概念194
8.3.2 信号基本操作及应用197
第9章 System V进程间通信209
9.1 System VIPC基础210
9.1.1 key值和ID值210
9.1.2 拥有者及权限211
9.2 消息队列212
9.2.1 消息队列IPC原理212
9.2.2 Linux消息队列管理214
9.2.3 消息队列应用实例217
9.3 信号量通信机制220
9.3.1 信号量IPC原理220
9.3.2 Linux信号量管理操作221
9.3.3 信号量应用实例226
9.4 共享内存229
9.4.1 共享内存IPC原理229
9.4.2 Linux共享内存管理231
9.4.3 共享内存处理应用示例233
9.4.4 共享内存处理应用示例235
第10章 Linux多线程编程239
10.1 Linux线程概述240
10.1.1 线程基本概念240
10.1.2 线程基本应用概述240
10.1.3 进程/线程应用对比243
10.2 Linux线程基本操作244
10.2.1 创建线程244
10.2.2 退出线程245
10.2.3 等待线程245
10.2.4 取消线程246
10.2.5 线程基本操作应用实例247
10.3 线程属性控制249
10.3.1 初始化线程属性对象250
10.3.2 获取/设置线程属性251
10.3.3 线程属性控制实例255
10.4 线程调度257
10.4.1 调度策略基本概念257
10.4.2 调度策略管理258
10.4.3 线程调度策略示例程序259
第11章 线程间通信机制263
11.1 互斥锁通信机制264
11.1.1 互斥锁基本原理264
11.1.2 初始化或损坏互斥锁265
11.1.3 锁定/非阻塞锁定一个互斥锁266
11.1.4 解锁互斥锁267
11.1.5 初始化或破坏互斥锁属性对象267
11.1.6 互斥锁使用范围268
11.1.7 互斥锁kind属性设置269
11.1.8 互斥锁应用实例269
11.2 条件变量通信机制271
11.2.1 条件变量基本原理271
11.2.2 初始化或损坏条件变量273
11.2.3 取消阻塞一个或所有等待条件变量的线程274
11.2.4 等待或定时等待条件变量274
11.2.5 初始化或破坏条件变量属性对象276
11.2.6 读取/设置条件变量争用范围277
11.2.7 条件变量应用实例277
11.3 读写锁通信机制281
11.3.1 读写锁基本原理281
11.3.2 初始化或损坏读写锁282
11.3.3 解除读写锁定283
11.3.4 锁定或非阻塞锁定用于读取的读写锁283
11.3.5 锁定或非阻塞锁定用于写入的读写锁284
11.3.6 初始化或破坏读写锁定属性对象284
11.3.7 读写锁属性设置285
11.3.8 读写锁应用实例286
11.4 线程信号量289
11.4.1 线程信号量基本原理289
11.4.2 无名线程信号量管理291
11.4.3 无名线程信号量应用实例293
11.4.4 命名线程信号量管理296
11.5 线程信号299
11.5.1 线程信号管理299
11.5.2 示例程序300
第12章 Linux Socket网络编程303
12.1 网络通信基础304
12.1.1 TCP/IP协议簇基础304
12.1.2 IPV4基础305
12.1.3 IP数据包头307
12.1.4 TCP数据包头309
12.1.5 UDP数据包头311
12.2 Socket通信基本概念及过程312
12.2.1 Socket对象实现312
12.2.2 面向连接的Socket通信实现314
12.2.3 面向无连接的Sockek通信实现320
12.3 面向连接的TCP套接字编程实例322
12.3.1 使用AF UNIX实现本机数据流通信322
12.3.2 使用AF INET实现数据流通信325
12.4 面向无连接的UDP套接字编程实例328
12.5 其他Socket API应用编程331
12.5.1 socketpair实现本地进程间通信331
12.5.2 获取/设置socket状态333
12.5.3 获取网络主机条目334
12.5.4 获取服务条目338
12.5.5 获取/设置或结束协议条目339
12.5.6 地址转换管理操作340
12.5.7 地址操作例行程序341
附录A GCC参数说明343
附录B gdb命令手册367
附录C vim参考手册383
附录D Emacs编辑器395
附录E CVS服务器配置401