《精通Unix下C语言编程与项目实践》目录

简介:
书籍目录

 
说明:红色部分为即将试读章节,可以直接点击说明已经开放试读,未能点击则暂时未加入。
 

1部分  起步篇
1  UNIX初步 
1.1  UNIX
的发展历程 
1.1.1  UNIX
的诞生 
1.1.2  UNIX
的发展与分支 
1.2  UNIX
的基本操作 
1.2.1  shell
简介 
1.2.2  
系统登录 
1.2.3  
用户管理 
1.2.4  
文件管理 
1.2.5  
目录管理 
1.2.6  I/O
重定向 
1.2.7  
管道 
1.2.8  
进程管理 
1.3  
文本编辑器vi 
1.3.1  vi
的模式 
1.3.2  vi
的常用命令 
1.4  
小结


2  编程套件 
2.1  
开发套件的选择 
2.1.1  
编辑器UltraEdit 
2.1.2  
网络终端SecureCRT 
2.1.3  
网络终端SecureNetTerm 
2.2  
编译器cc的使用 
2.2.1  cc
的初体验 
2.2.2  cc
选项 
2.3  
使用make工具 
2.3.1  make
初体验 
2.3.2  makefile
的结构 
2.4  
使用gdb调试器 
2.4.1  gdb
的编译与启动 
2.4.2  gdb
的程序控制 
2.5  
小结


3  库的使用 
3.1  
操作库工具 
3.1.1  
库分类 
3.1.2  
静态库的操作工具 
3.2  
静态编程库 
3.2.1  
静态库的生成 
3.2.2  
静态库的应用模型 
3.3  
动态库的生成 
3.4  
动态库的隐式调用 
3.5  
动态库的显式调用 
3.5.1  
函数族 
3.5.2  
应用模型 
3.6  
小结


2部分  文件子系统
4  文件系统结构 
4.1  
文件系统的结构 
4.2  
磁盘文件的存储 
4.3  
文件属性 
4.3.1  
文件属性函数族 
4.3.2  
文件类型 
4.3.3  
文件访问权限 
4.3.4  
文件其他属性 
4.4  
文件系统属性 
4.5  
小结


5  标准文件编程库 
5.1  
文件的创建、打开、关闭与删除 
5.2  
文件的无格式读写 
5.2.1  
字符读写 
5.2.2  
行读写 
5.2.3  
块读写 
5.3  
文件的格式化读写 
5.3.1  
数据格式转换 
5.3.2  
文件的格式化输出函数族 
5.3.3  
文件的格式化输入函数族 
5.4  
函数的变长参数 
5.4.1. 
变长参数的使用
 
5.4.2  
变长参数的传递
 
5.5  
文件读写位置的定位 
5.6  
文件的状态 
5.6.1  
文件的错误与结束状态 
5.6.2  
文件的错误信息 
5.7  
文件的缓冲 
5.7.1  
缓冲模式 
5.7.2  
缓冲函数 
5.8  
项目:通用函数库之调试功能库封装 
5.8.1  
通用函数库 
5.8.2  
调试库内容 
5.8.3  
调试库设计 
5.8.4  
调试库编译 
5.8.5  
调试库应用实例 
5.9  
小结


6  低级文件编程库 
6.1  
文件描述符 
6.2  
文件的打开与创建 
6.3  
文件的关闭与删除 
6.4  
文件读 
6.5  
文件写 
6.6  
文件的定位 
6.7  
文件缓冲

6.8   复制文件描述符 
6.9  
文件控制 
6.9.1  
函数fcntl 
6.9.2  
文件锁

6.9.3   文件锁操作 
6.10  
项目:通用函数库之读写功能库封装 
6.10.1  
阻塞读写函数库 
6.10.2  
阻塞读写函数库应用实例 
6.11  
小结


7  目录文件编程库 
7.1  
工作目录 
7.2  
目录的创建与删除 
7.3  
目录的读取 
7.4  
目录的定位 
7.5  
小结


8  设备文件 
8.1   设备文件概述 
8.2  
设备文件操作 
8.3  
终端设备 
8.3.1  
终端设备简介 
8.3.2  
终端设备操作 
8.4  
外部设备操作 
8.4.1  
操作连接串口的外设 
8.4.2  
操作连接终端的外设 
8.5  
小结


3部分  并发程序设计
9  进程控制 
9.1  
进程基本环境 
9.1.1  
进程概念 
9.1.2  
进程的标识 
9.1.3  
进程命令行 
9.1.4  
环境变量 
9.2  
进程的生命周期 
9.2.1  
进程的创建 
9.2.2  
新程序的执行 
9.2.3  
进程的休眠 
9.2.4  
进程的终止 
9.2.5  
进程的同步
9.3  
僵死进程 
9.4  
守护进程 
9.4.1  
守护进程编程模型 
9.4.2  
项目:通用函数库之守护进程生成器 
9.5  
小结


10  时钟与信号 
10.1  
时钟 
10.1.1  
系统时间 
10.1.2  
本地时间 
10.1.3  
项目:通用函数编程库之时间函数封装 
10.2  
信号的概念 
10.2.1  
信号的产生 
10.2.2  
信号的处理 
10.3  
信号全家福 
10.3.1  
软硬件异常类信号 
10.3.2  
终止进程类信号 
10.3.3  
进程挂起类信号 
10.3.4  
定时器类信号 
10.3.5  
其他信号 
10.4  
信号操作 
10.4.1  
信号的忽略与捕获 
10.4.2  
信号的显式发送 
10.5  
定时器设置 
10.5.1  
普通定时器设置
10.5.2  
精通定时器设置
10.6  
全局跳转 
10.7  
实践经验:单进程I/O超时处理 
10.7.1  
终端I/O超时方式 
10.7.2  
信号与跳转I/O超时方式 
10.7.3  
多路复用I/O超时方式 
10.8  
项目:通用函数库之读写功能库封装 
10.8.1  
定时读写函数库 
10.8.2  
定时读写函数库应用实例 
10.9  
小结


4部分  进程通信篇
11  管道 
11.1  
管道的概念 
11.2  
无名管道 
11.2.1  
无名管道的建立 
11.2.2  
单向管道流模型 
11.2.3  
双向管道流模型 
11.2.4  
连接标准I/O的管道模型 
11.2.5  popen
模型 
11.3  
有名管道FIFO 
11.3.1  
有名管道的建立 
11.3.2  
有名管道的应用 
11.3.3  
管道的模型 
11.4  
小结


12  消息队列 
12.1  IPC 系统简介 
12.2  
消息队列简介 
12.2.1  
消息队列结构 
12.2.2  
消息结构 
12.3  
消息队列的创建 
12.4  
消息队列的发送与接收 
12.4.1  
消息队列发送函数
12.4.2  
消息队列发送模型 
12.4.3  
消息队列接收函数 
12.4.4  
消息队列接收模型 
12.5  
消息队列的控制 
12.6  
消息队列的常见应用模型 
12.7  
项目:通用函数库之消息队列功能库封装 
12.8  
小结


13  信号量 
13.1  
信号量介绍 
13.2  
信号量的创建 
13.3  
信号量控制 
13.3.1  
信号量控制函数 
13.3.2  
信号量控制的应用模板 
13.4  
信号量的操作 
13.4.1  
信号量操作函数 
13.4.2  
信号量操作实例 
13.5  
项目:通用函数库之信号量函数库封装 
13.6 
小结


14  共享内存 
14.1  
共享内存介绍 
14.2  
共享内存模型 
14.2.1  
共享内存的系统调用 
14.2.2  
共享内存的应用 
14.3  
共享内存的控制 
14.4  
实践经验:IPC对象应用 
14.4.1  
共享内存的常见应用模型 
14.4.2  
通用函数编程库:模型“1-n-n”实现 
14.5  
小结


5部分  网络通信篇
15  基于TCP的通信程序设计 
15.1  
套接字(SOCKET)的概念 
15.1.1  
套接字的类型 
15.1.2  
套接字描述符 
15.2  TCP
协议的基础编程模型 
15.2.1  Socket
的创建系统调用socket 
15.2.2  Socket
的命名系统调用bind 
15.2.3  Socket
的侦听系统调用listen 
15.2.4  Socket
的连接处理系统调用accept 
15.2.5  Socket
的关闭系统调用shutdown 
15.2.6  Socket
的连接申请系统调用connect 
15.2.7  TCP
数据的发送系统调用send 
15.2.8  TCP
数据的接收系统调用recv 
15.2.9  
实例:服务器端程序 
15.3  Socket
的协议地址属性 
15.3.1  Socket
的域名地址 
15.3.2  Socket
的端口 
15.3.3  Socket
的协议地址 
15.3.4  
通用函数编程库之TCP通信库 
15.4  
套接字选项 
15.5  
项目:网页投票器—HTTP客户端 
15.5.1  URL
Uniform Resource Locator,统一资源定位符)
 
15.5.2  HTTP
协议报文格式
 
15.5.3  
网页投票器
 
15.5.4  
网页刷新器
 
15.6  TCP
连接模型 
15.6.1  
同步短连接模型 
15.6.2  
异步长连接模型 
15.6.3  TCP
模型应用实例分析银行ATM系统 
15.7  
小结


16  基于UDP的通信程序设计 
16.1  UDP
数据的收发 
16.2  UDP
协议的基础编程模型 
16.3  UDP
通信应用模型 
16.3.1  
通信模型 
16.3.2  
实例:系统监控项目通信模块分析 
16.3.3  
实例:系统监控项目通信模块设计 
16.4  
小结


17  并发Socket程序设计 
17.1   非阻塞并发模型 
17.1.1  
非阻塞套接字系统调用 
17.1.2  
非阻塞套接字程序设计流程 
17.2  
信号驱动并发模型 
17.2.1  
信号驱动设计流程 
17.2.2  
信号驱动应用范围 
17.3  
超时并发模型 
17.3.1  
通过套接字选项设置超时 
17.3.2  
通过信号SIGALRM设置超时 
17.3.3  
通过信号SIGALRM与跳转设置超时 
17.4  
多路复用并发模型 
17.4.1  
套接字多路复用并发程序设计流程 
17.4.2  
项目:通信转发器 
17.5  
多进程并发模型 
17.5.1  
不固定进程数的并发模型 
17.5.2  
固定进程数的并发模型 
17.5.3  
两种并发模型的对比与选择 
17.5.4  
项目:HTTP代理服务器 
17.6  inetd
守护进程 
17.6.1  inetd
程序初步 
17.6.2  inetd
守护程序实例 
17.6.3  inetd
守护进程的设计 
17.7  
小结


6部分  流行软件完整案例
18  数据传输技术之字符串报文 
18.1  
字符串报文简介 
18.1.1  
字符串报文类型
 
18.1.2  
字符串报文传送方式
 
18.2  
字符串报文组包 
18.3  
字符串报文解析 
18.4  
字符串解析实例 
18.5  
配置文件读取 
18.5.1  
配置数据的传递方式 
18.5.2  
配置数据的格式 
18.5.3  
通用函数编程库之读取配置文件函数库(4 
18.6  
小结


19  分布式应用技术之远程调用模型 
19.1  
系统分析 
19.2  
系统流程 
19.3  
系统设计 
19.3.1  
通信报文设计 
19.3.2  
远程调用申请报文 
19.3.3  
服务器端主函数 
19.3.4  
子服务函数 
19.3.5  
编译与运行 
19.4  
系统升级 
19.4.1  
用户控制升级 
19.4.2  
服务控制升级 
19.5  
小结


20  系统监控技术之主机模块 
20.1  
系统模块划分 
20.2  
定时器模拟 
20.2.1  
模拟定时器结构 
20.2.2  
模拟定时器管理 
20.2.3  
模拟定时器算法 
20.2.4  
基本定时器 
20.2.5  
模拟定时器实例 
20.3  
监控代码 
20.3.1  
监控代码分析 
20.3.2  
监控代码调用方式 
20.3.3  
主机监控信息分析 
20.3.4  
监控代码实例 
20.4  
主机进程调度 
20.4.1  
串行动态库监控实例 
20.4.2  
并行监控实例 
20.4.3  
改进的并行监控实例可控的调度 
20.5  
小结


21  系统监控技术之信息转发模块 
21.1  
系统分析与设计 
21.2  
用户模块 
21.3  
转发程序 
21.4  
签到程序 
21.5  
小结


附录A  配套代码的使用 
A.1  
安装源文件 
A.2  
源程序编译


附录B  通用函数编程库  
B.1  
目录结构 
B.2  
编译方法 
B.3  
通用函数编程库头文件


附录C  由浅入深经典项目10 
C.1  
文件管理器 
C.2  
文件管理器
 
C.3  
进程管理器
 
C.4  
模拟数据库存储项目
 
C.5  
俄罗斯方块程序设计
 
C.6  IPC
对象操作程序设计
 
C.7  
操作终端外设项目
 
C.8  
聊天项目后台
 
C.9  SOCK5
代理服务器项目
 
C.10  
网络游戏后台项目


 本文转自 zhuyunxiang 51CTO博客,原文链接:http://blog.51cto.com/zhuyunxiang/128566,如需转载请自行联系原作者



相关文章
|
28天前
|
监控 网络协议 API
C语言系统编程
C语言系统编程
|
1月前
|
Linux C语言 开发者
Linux系统下C语言的高阶编程
Linux系统下C语言的高阶编程
15 0
|
1月前
|
存储 C语言 索引
掌握多维数组,让你的C语言编程技能暴涨!
掌握多维数组,让你的C语言编程技能暴涨!
|
1月前
|
存储 编译器 程序员
汽车电子行业的 C 语言编程标准
汽车电子行业的 C 语言编程标准
51 0
汽车电子行业的 C 语言编程标准
|
1月前
|
存储 人工智能 安全
C语言:选择+编程(每日一练Day15)
C语言:选择+编程(每日一练Day15)
51 2
|
1月前
|
C语言
C语言:选择+编程(每日一练Day13)
C语言:选择+编程(每日一练Day13)
33 0
|
1月前
|
C语言
C语言:选择+编程(每日一练Day5)
C语言:选择+编程(每日一练Day5)
31 3
|
17天前
|
Linux 测试技术 C语言
【Linux】应用编程之C语言文件操作
【Linux】应用编程之C语言文件操作
|
1月前
|
自然语言处理 算法 搜索推荐
C语言的编程
C语言的编程
9 1
|
1月前
|
存储 C语言 索引
遍历一维数组C语言,掌握这个技能,你的编程能力直线上升!
遍历一维数组C语言,掌握这个技能,你的编程能力直线上升!