注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计C/C++及其相关精通UNIX下C语言编程与项目实践

精通UNIX下C语言编程与项目实践

精通UNIX下C语言编程与项目实践

定 价:¥48.80

作 者: 朱云翔,胡平
出版社: 电子工业出版社
丛编项: C C++开发专家
标 签: C/Turbo C

购买这本书可以去


ISBN: 9787121052491 出版时间: 2007-12-01 包装: 平装
开本: 16开 页数: 466 字数:  

内容简介

  本书从实用的角度出发,深入浅出地对UNIX环境下C语言编程进行全面分析和介绍。本书共分为6个部分,详尽而细致地介绍了UNIX环境下的编程概念、文件系统设计、进程与线程设计、信号量处理、进程间通信处理、网络编程及数据库编程等多方面的内容。书中各个章节提供大量的实例,既方便读者学习和理解,又能最大程度地理论联系实际。 本书内容覆盖面广且深入,适合有一定C语言编程经验而想转向UNIX环境下进行开发的人员及UNIX编程爱好者阅读,同时也可作为高等院校计算机专业师生的参考读物。

作者简介

  朱云翔,中国农业银行湖南省分行高级工程师希赛顾问团专业顾问。表面木讷,内心丰富细腻,对事物有些许独到的见解,好览群书,酷爱编程,废寝忘食,如痴如颠。迄今,已带领团队开发大中型项目三十有余,作为系统分析师和高级工程师,努力洞悉UNIX的精髓,希求在此基础上形成独特的体会和创新。

图书目录

第1部分  起步篇
第1章  UNIX初步 3
1.1  UNIX的发展历程 4
1.1.1  UNIX的诞生 4
1.1.2  UNIX的发展与分支 4
1.2  UNIX的基本操作 5
1.2.1  shell简介 5
1.2.2  系统登录 6
1.2.3  用户管理 7
1.2.4  文件管理 7
1.2.5  目录管理 9
1.2.6  I/O重定向 9
1.2.7  管道 10
1.2.8  进程管理 11
1.3  文本编辑器vi 11
1.3.1  vi的模式 12
1.3.2  vi的常用命令 13
1.4  小结 16
第2章  编程套件 17
2.1  开发套件的选择 18
2.1.1  编辑器UltraEdit 18
2.1.2  网络终端SecureCRT 18
2.1.3  网络终端SecureNetTerm 19
2.2  编译器cc的使用 19
2.2.1  cc的初体验 19
2.2.2  cc选项 20
2.3  使用make工具 22
2.3.1  make初体验 22
2.3.2  makefile的结构 22
2.4  使用gdb调试器 25
2.4.1  gdb的编译与启动 25
2.4.2  gdb的程序控制 26
2.5  小结 28
第3章  库的使用 29
3.1  操作库工具 30
3.1.1  库分类 30
3.1.2  静态库的操作工具 31
3.2  静态编程库 31
3.2.1  静态库的生成 32
3.2.2  静态库的应用模型 33
3.3  动态库的生成 34
3.4  动态库的隐式调用 35
3.5  动态库的显式调用 37
3.5.1  函数族 37
3.5.2  应用模型 39
3.6  小结 40
第2部分  文件子系统
第4章  文件系统结构 45
4.1  文件系统的结构 46
4.2  磁盘文件的存储 47
4.3  文件属性 50
4.3.1  文件属性函数族 50
4.3.2  文件类型 51
4.3.3  文件访问权限 52
4.3.4  文件其他属性 54
4.4  文件系统属性 55
4.5  小结 57
第5章  标准文件编程库 59
5.1  文件的创建、打开、
关闭与删除 60
5.2  文件的无格式读写 63
5.2.1  字符读写 63
5.2.2  行读写 66
5.2.3  块读写 69
5.3  文件的格式化读写 72
5.3.1  数据格式转换 72
5.3.2  文件的格式化输出函数族 73
5.3.3  文件的格式化输入函数族 76
5.4  函数的变长参数 77
5.4.1. 变长参数的使用 77
5.4.2  变长参数的传递 79
5.5  文件读写位置的定位 80
5.6  文件的状态 82
5.6.1  文件的错误与结束状态 82
5.6.2  文件的错误信息 83
5.7  文件的缓冲 83
5.7.1  缓冲模式 83
5.7.2  缓冲函数 84
5.8  项目:通用函数库之
调试功能库封装 85
5.8.1  通用函数库 85
5.8.2  调试库内容 86
5.8.3  调试库设计 87
5.8.4  调试库编译 90
5.8.5  调试库应用实例 91
5.9  小结 92
第6章  低级文件编程库 95
6.1  文件描述符 96
6.2  文件的打开与创建 96
6.3  文件的关闭与删除 99
6.4  文件读 100
6.5  文件写 101
6.6  文件的定位 101
6.7  文件缓冲 103
6.8  复制文件描述符 103
6.9  文件控制 103
6.9.1  函数fcntl 103
6.9.2  文件锁 105
6.9.3  文件锁操作 106
6.10  项目:通用函数库之
读写功能库封装 110
6.10.1  阻塞读写函数库 110
6.10.2  阻塞读写函数库应用实例 112
6.11  小结 112
第7章  目录文件编程库 115
7.1  工作目录 116
7.2  目录的创建与删除 117
7.3  目录的读取 118
7.4  目录的定位 120
7.5  小结 120
第8章  设备文件 123
8.1  设备文件概述 124
8.2  设备文件操作 124
8.3  终端设备 125
8.3.1  终端设备简介 125
8.3.2  终端设备操作 126
8.4  外部设备操作 130
8.4.1  操作连接串口的外设 130
8.4.2  操作连接终端的外设 134
8.5  小结 135
第3部分  并发程序设计
第9章  进程控制 139
9.1  进程基本环境 140
9.1.1  进程概念 140
9.1.2  进程的标识 142
9.1.3  进程命令行 143
9.1.4  环境变量 145
9.2  进程的生命周期 147
9.2.1  进程的创建 147
9.2.2  新程序的执行 149
9.2.3  进程的休眠 153
9.2.4  进程的终止 153
9.2.5  进程的同步 154
9.3  僵死进程 157
9.4  守护进程 160
9.4.1  守护进程编程模型 160
9.4.2  项目:通用函数库之
守护进程生成器 161
9.5  小结 162
第10章  时钟与信号 163
10.1  时钟 164
10.1.1  系统时间 164
10.1.2  本地时间 165
10.1.3  项目:通用函数编程库之
时间函数封装 166
10.2  信号的概念 168
10.2.1  信号的产生 169
10.2.2  信号的处理 169
10.3  信号全家福 170
10.3.1  软硬件异常类信号 171
10.3.2  终止进程类信号 171
10.3.3  进程挂起类信号 172
10.3.4  定时器类信号 173
10.3.5  其他信号 173
10.4  信号操作 174
10.4.1  信号的忽略与捕获 174
10.4.2  信号的显式发送 176
10.5  定时器设置 178
10.5.1  普通定时器设置 178
10.5.2  精通定时器设置 180
10.6  全局跳转 182
10.7  实践经验:单进程I/O
超时处理 184
10.7.1  终端I/O超时方式 184
10.7.2  信号与跳转I/O超时方式 185
10.7.3  多路复用I/O超时方式 186
10.8  项目:通用函数库之
读写功能库封装 188
10.8.1  定时读写函数库 188
10.8.2  定时读写函数库应用实例 191
10.9  小结 191
第4部分  进程通信篇
第11章  管道 195
11.1  管道的概念 196
11.2  无名管道 196
11.2.1  无名管道的建立 196
11.2.2  单向管道流模型 197
11.2.3  双向管道流模型 199
11.2.4  连接标准I/O的管道模型 203
11.2.5  popen模型 205
11.3  有名管道FIFO 206
11.3.1  有名管道的建立 206
11.3.2  有名管道的应用 207
11.3.3  管道的模型 209
11.4  小结 211
第12章  消息队列 213
12.1  IPC系统简介 214
12.2  消息队列简介 218
12.2.1  消息队列结构 218
12.2.2  消息结构 219
12.3  消息队列的创建 221
12.4  消息队列的发送与接收 222
12.4.1  消息队列发送函数 222
12.4.2  消息队列发送模型 223
12.4.3  消息队列接收函数 226
12.4.4  消息队列接收模型 227
12.5  消息队列的控制 229
12.6  消息队列的常见应用模型 232
12.7  项目:通用函数库之
消息队列功能库封装 234
12.8  小结 239
第13章  信号量 241
13.1  信号量介绍 242
13.2  信号量的创建 244
13.3  信号量控制 244
13.3.1  信号量控制函数 244
13.3.2  信号量控制的应用模板 246
13.4  信号量的操作 250
13.4.1  信号量操作函数 250
13.4.2  信号量操作实例 253
13.5  项目:通用函数库之
信号量函数库封装 257
13.6 小结 260
第14章  共享内存 261
14.1  共享内存介绍 262
14.2  共享内存模型 263
14.2.1  共享内存的系统调用 263
14.2.2  共享内存的应用 266
14.3  共享内存的控制 268
14.4  实践经验:IPC对象应用 271
14.4.1  共享内存的常见应用模型 271
14.4.2  通用函数编程库:
模型“1-n-n”实现 273
14.5  小结 279
第5部分  网络通信篇
第15章  基于TCP的通信程序设计 285
15.1  套接字(SOCKET)的
概念 286
15.1.1  套接字的类型 286
15.1.2  套接字描述符 287
15.2  TCP协议的基础编程模型 287
15.2.1  Socket的创建—系统
调用socket 288
15.2.2  Socket的命名—系统
调用bind 289
15.2.3  Socket的侦听—系统
调用listen 292
15.2.4  Socket的连接处理—系统
调用accept 293
15.2.5  Socket的关闭—系统
调用shutdown 294
15.2.6  Socket的连接申请—系统
调用connect 295
15.2.7  TCP数据的发送—系统
调用send 296
15.2.8  TCP数据的接收—系统
调用recv 297
15.2.9  实例:服务器端程序 298
15.3  Socket的协议地址属性 300
15.3.1  Socket的域名地址 300
15.3.2  Socket的端口 302
15.3.3  Socket的协议地址 304
15.3.4  通用函数编程库之TCP
通信库 306
15.4  套接字选项 307
15.5  项目:网页投票器—HTTP
客户端 312
15.5.1  URL(Uniform Resource Locator,
统一资源定位符) 312
15.5.2  HTTP协议报文格式 312
15.5.3  网页投票器 315
15.5.4  网页刷新器 317
15.6  TCP连接模型 319
15.6.1  同步短连接模型 319
15.6.2  异步长连接模型 323
15.6.3  TCP模型应用实例分析
—银行ATM系统 324
15.7  小结 327
第16章  基于UDP的通信程序设计 329
16.1  UDP数据的收发 330
16.2  UDP协议的基础编程模型 330
16.3  UDP通信应用模型 335
16.3.1  通信模型 335
16.3.2  实例:系统监控项目
通信模块分析 336
16.3.3  实例:系统监控项目
通信模块设计 337
16.4  小结 341
第17章  并发Socket程序设计 343
17.1  非阻塞并发模型 344
17.1.1  非阻塞套接字系统调用 344
17.1.2  非阻塞套接字程序
设计流程 344
17.2  信号驱动并发模型 345
17.2.1  信号驱动设计流程 346
17.2.2  信号驱动应用范围 346
17.3  超时并发模型 347
17.3.1  通过套接字选项设置超时 348
17.3.2  通过信号SIGALRM
设置超时 348
17.3.3  通过信号SIGALRM与
跳转设置超时 350
17.4  多路复用并发模型 352
17.4.1  套接字多路复用并发
程序设计流程 353
17.4.2  项目:通信转发器 355
17.5  多进程并发模型 358
17.5.1  不固定进程数的并发模型 358
17.5.2  固定进程数的并发模型 360
17.5.3  两种并发模型的
对比与选择 362
17.5.4  项目:HTTP代理服务器 363
17.6  inetd守护进程 366
17.6.1  inetd程序初步 367
17.6.2  inetd守护程序实例 369
17.6.3  inetd守护进程的设计 371
17.7  小结 372
第6部分  流行软件完整案例
第18章  数据传输技术之
字符串报文 375
18.1  字符串报文简介 376
18.1.1  字符串报文类型 376
18.1.2  字符串报文传送方式 377
18.2  字符串报文组包 378
18.3  字符串报文解析 378
18.4  字符串解析实例 383
18.5  配置文件读取 385
18.5.1  配置数据的传递方式 385
18.5.2  配置数据的格式 386
18.5.3  通用函数编程库之读取
配置文件函数库(4) 388
18.6  小结 391
第19章  分布式应用技术之
远程调用模型 393
19.1  系统分析 394
19.2  系统流程 395
19.3  系统设计 395
19.3.1  通信报文设计 396
19.3.2  远程调用申请报文 397
19.3.3  服务器端主函数 397
19.3.4  子服务函数 398
19.3.5  编译与运行 399
19.4  系统升级 400
19.4.1  用户控制升级 400
19.4.2  服务控制升级 403
19.5  小结 405
第20章  系统监控技术之主机模块 407
20.1  系统模块划分 408
20.2  定时器模拟 408
20.2.1  模拟定时器结构 409
20.2.2  模拟定时器管理 410
20.2.3  模拟定时器算法 410
20.2.4  基本定时器 412
20.2.5  模拟定时器实例 413
20.3  监控代码 416
20.3.1  监控代码分析 417
20.3.2  监控代码调用方式 418
20.3.3  主机监控信息分析 422
20.3.4  监控代码实例 423
20.4  主机进程调度 427
20.4.1  串行动态库监控实例 427
20.4.2  并行监控实例 433
20.4.3  改进的并行监控实例
—可控的调度 436
20.5  小结 439
第21章  系统监控技术之
信息转发模块 441
21.1  系统分析与设计 442
21.2  用户模块 443
21.3  转发程序 446
21.4  签到程序 446
21.5  小结 450
附录A  配套代码的使用 451
A.1  安装源文件 452
A.2  源程序编译 452
附录B  通用函数编程库 455
B.1  目录结构 456
B.2  编译方法 456
B.3  通用函数编程库头文件 457
附录C  由浅入深经典项目10例 461
C.1  文件管理器 462
C.2  文件管理器 463
C.3  进程管理器 464
C.4  模拟数据库存储项目 464
C.5  俄罗斯方块程序设计 465
C.6  IPC对象操作程序设计 465
C.7  操作终端外设项目 465
C.8  聊天项目后台 466
C.9  SOCK5代理服务器项目 466
C.10  网络游戏后台项目 466
参考文献   467

本目录推荐