书籍详情
UNIX平台下C语言编程
作者:喻志虎编著
出版社:清华大学出版社
出版时间:2001-01-01
ISBN:9787302047957
定价:¥38.00
购买这本书可以去
内容简介
本书详细而深入地介绍了在UNIX操作系统下利用C语言进行应用程序设计所需要的知识。本书的主要内容包括:UNIX基础知识、文件系统和文件I/O、高级文件操作、录、终端及其他各种I/O、进程的环境、进程控制、守护进程、进程之间的通信、信号及其机制、基于SOCKET的网络编程以及C1ient/Server编程、CGI编程语言perl和多线程编程等。本书内容丰富,概念清晰,在叙述上深入浅出,主要面向UNIX操作系统下的C程序设计人员,同时也适合于高等院校相关专业的师生借鉴。
作者简介
暂缺《UNIX平台下C语言编程》作者简介
目录
第1章 UNIX基础
1.1 登录
1.2 shell
1.3 文件和目录
1.3.1 文件系统
1.3.2 目录层次
1.3.3 设备
1.4 I/O
1.4.1 文件描述符(fi1e descriptor)
1.4.2 I/O
1.5 进程(process)
1.5.1 什么是进程
1.5.2 进程标识号
1.5.3 一个进程控制的实例
1.6 信号(signal)
1.6.1 什么是信号
1.6.2 进程对信号的处理
1.6.3 一个关于信号的实例
1.7 UNIX标准
1.7.1 ANSIC
1.7.2 POSIX
1.7.3 XPG3/4
1.7.4 UNIX标准的未来
第2章 文件系统与文件I/O
2.1 文件系统构造
2.1.1 第二代扩展文件系统(EXT2)
2.1.2 索引节点(inode)
2.1.3 超决(super block)
2.1.4 组标志符
2.1.5 目录和目录项
2.1.6 文件定位
2.1.7 改变文件系统中文件的大小
2.1.8 虚拟文件系统(VFS)
2.2 文件I/0
2.2.1 文件描述符
2.2.2 open函数
2.2.3 create函数
2.2.4 read函数
2.2.5 write函数
2.2.6 1seek函数
2.2.7 close函数
2.2.8 dup和dup2函数
2.2.9 fcntl函数
2.2.10 ioctl函数
2.3 文件系统或I/0其他相关主题
2.3.1 系统数据文件
2.3.2 登录记帐
2.3.3 系统标识
2.3.4 时间和日期
第3章 高级文件操作
3.1 文件类型与文件模式
3.1.1 文件类型
3.1.2 文件模式
3.2 目录项属性
3.2.1 stat/fstat/lstat函数
3.3 目录读取
3.3.1 opendir/readdir/closedir函数
3.3.2 rewinddir/seekdir/telldir/scandir函数
3.4 文件和目录的访问许可
3.4.1 access函数
3.4.2 umask函数
3.4.3 chmod/fchnod函数
3.4.4 黏着位(sticky bit)
3.4.5 Chown/fchown/1chown函数
3.5 目录及目录项操作
3.5.1 truncate/ftruncate函数
3.5.2 link/symlink函数
3.5.3 unlink函数
3.5.4 mkdir/rmdir/mknod函数
3.5.5 remove/rename函数
3.5.6 readlink函数
3.5.7 chdir/fchdir/getcwd函数
3.5.8 utime函数
3.6 其他
3.6.1 特殊设备文件
3.6.2 sync和fsync函数
3.6.3 mount和umount函数
第4章 高级I/O
4.1 直接I/O端口读写
4.2 非阻塞I/O
4.3 记录锁定
4.3.1 概念
4.3.2 fcntl锁
4.3.3 锁的继承和释放
4.3.4 建议锁与强制锁
4.4 I/O多工
4.4.1 基本概念
4.4.2 Select和poll函数
4.5 内存映射
4.5.1 基本概念
4.5.2 mmap/unmmap函数
第5章 进程
5.1 基本概念
5.1.1 进程的定义
5.1.2 进程状态
5.2 进程环境
5.2.1 main函数
5.2.2 命令行参数及popt库
5.2.3 环境变量
5.2.4 C程序的:内存布局
5.2.5 共享序
5.2.6 内存分配
5.2.7 程序的长跳转
5.2.8 进程的资源限制
5.3 进程控制
5.3.1 基本概念
5.3.2 进程创建
5.3.3 进程终止
5.3.4 进程同步
5.3.5 进程运行
5.3.6 system函数
5.3.7 进程时间
5.4 守护进程
5.4.1 基本概念
5.4.2 错误输出
5.4.3 守护进程的建立
第6章 信号
6.1 基本概念
6.1.1 信号
6.1.2 信号的产生条件
6.1.3 POSIX定义的信号
6.1.4 可重入性和中断系统调用
6.1.5 信号机制
6.2 不可靠信号
6.2.1 signal函数
6.2.2 不可靠信号的问题
6.3 可靠信号
6.3.1 术语和原语
6.3.2 信号集及其操作
6.3.3 可靠信号系统调用
6.4 与信号相关的系统调用
6.4.1 kill系统调用
6.4.2 pause系统调用
6.4.3 alarm/setitimer系统调用
6.4.4 abort系统调用
6.4.5 system系统调用
6.4.6 sleep系统调用
第7章 进程间通信
7.1 基本概念
7.1.1 进程阻塞
7.1.2 共享资源
7.1.3 锁定
7.2 管道
7.2.1 什么是管道
7.2.2 用C建立和使用管道
7.2.3 有名管道
7.3 文件与记录锁定
7.3.1 基本概念
7.3.2 System V的咨询锁定
7.3.3 BSD的咨询锁定
7.3.4 其他锁技术
7.4 System V IPC
7.4.1 概述
7.4.2 相关命令
7.5 消息队列
7.5.1 基础
7.5.2 消息队列函数
7.5.3 实例
7.6 信号量
7.6.1 基础
7.6.2 信号量函数
7.6.3 实例
7.7 共享内存
7.7.1 基础
7.7.2 相关函数
7.7.3 实例
7.7.4 综合实例
第8章 Berkeley Socket
8.1 TCP/IP协议简述
8.1.1 结构模型
8.1.2 IP协议
8.1.3 TCP和UDP协议
8.2 Socket基础
8.2.1 Socket的历史
8.2.2 Socket的功能
8.2.3 Socket类型
8.2.4 socket描述符
8.2.5 转换函数
8.3 基本socket调用
8.3.1 socket函数
B.3.2 connect函数
8.3.3 bind函数
8.3.4 1isten函数
8.3.5 accept函数
8.3.6 Send和sendto函数
8.3.7 recv和recvfrom函数
8.3.8 close函数
8.3.9 shutdown函数
8.3.10 read和write函数
8.3.11 gethostbyaddr等函数
8.3.12 inet_aton等函数
8.3.13 getprotoent函数
8.3.14 getservbyname函数
8.3.15 getsockopt和setsockopt函数
8.3.16 po11函数
8.3.17 select函数
8.4 常用报文头结构
8.4.1 IP
8.4.2 TCP
8.4.3 UDP
8.4.4 ICMP
8.5 socket实例分析
8.5.1 获得本机IP
8.5.2 如何使用DNS
8.5.3 文件流方式
8.5.4 读取一行语句
8.5.5 不定长参数
8.5.6 以Daemon方式运行
8.5.7 端口重用
8.5.8 用户登录及权限设置
8.5.9 路由跟踪
8.6 Client/Server模式
8.6.1 基础知识
8.6.2 程序结构
8.6.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.2.6 设置本线程的信号掩模
9.2.7 终止线程
9.2.8 等待线程结束
9.2.9 简单的例程
9.2.10 维护线程专有数据
9.2.11 创建线程(高级特性)
9.2.12 获得最小堆栈
9.2.13 设置线程的同时性等级
9.2.14 获取或设定线程的优先级
9.2.15 线程调度
9.3 同步对象编程
9.3.1 互斥锁
9.3.2 条件变量
9.3.3 多读单写锁
9.3.4 信号灯
9.3.5 进程间同步
第10章 剧本编程
10.1 Perl概述
10.2 Perl变量
10.2.1 标量变量
10.2.2 数组
10.2.3 关联数组
10.3 Perl的运算符
10.3.1 赋值(Assignment)运算符
10.3.2 算术(Arithmetic)运算符
10.3.3 数值(Numeric Values)关系运算符
10.3.4 字符串(String Values)关系运算符
10.3.5 逻辑(Logical)运算
10.3.6 其他常用的运算符
10.3.7 常用的文件数据(File test)运算符
10.4 基本输入输出
10.4.1 从STDIN输入
10.4.2 从<>输入
10.4.3 向STDOUT输出
10.5 控制结构
10.5.1 选择性控制结构
10.5.2 循环性控制结构
10.6 常规表达式
10.7 函数
10.7.1 用户函数
10.7.2 常用系统函数
附录A selfdef.h头文件
附录B 编译和调试
1.1 登录
1.2 shell
1.3 文件和目录
1.3.1 文件系统
1.3.2 目录层次
1.3.3 设备
1.4 I/O
1.4.1 文件描述符(fi1e descriptor)
1.4.2 I/O
1.5 进程(process)
1.5.1 什么是进程
1.5.2 进程标识号
1.5.3 一个进程控制的实例
1.6 信号(signal)
1.6.1 什么是信号
1.6.2 进程对信号的处理
1.6.3 一个关于信号的实例
1.7 UNIX标准
1.7.1 ANSIC
1.7.2 POSIX
1.7.3 XPG3/4
1.7.4 UNIX标准的未来
第2章 文件系统与文件I/O
2.1 文件系统构造
2.1.1 第二代扩展文件系统(EXT2)
2.1.2 索引节点(inode)
2.1.3 超决(super block)
2.1.4 组标志符
2.1.5 目录和目录项
2.1.6 文件定位
2.1.7 改变文件系统中文件的大小
2.1.8 虚拟文件系统(VFS)
2.2 文件I/0
2.2.1 文件描述符
2.2.2 open函数
2.2.3 create函数
2.2.4 read函数
2.2.5 write函数
2.2.6 1seek函数
2.2.7 close函数
2.2.8 dup和dup2函数
2.2.9 fcntl函数
2.2.10 ioctl函数
2.3 文件系统或I/0其他相关主题
2.3.1 系统数据文件
2.3.2 登录记帐
2.3.3 系统标识
2.3.4 时间和日期
第3章 高级文件操作
3.1 文件类型与文件模式
3.1.1 文件类型
3.1.2 文件模式
3.2 目录项属性
3.2.1 stat/fstat/lstat函数
3.3 目录读取
3.3.1 opendir/readdir/closedir函数
3.3.2 rewinddir/seekdir/telldir/scandir函数
3.4 文件和目录的访问许可
3.4.1 access函数
3.4.2 umask函数
3.4.3 chmod/fchnod函数
3.4.4 黏着位(sticky bit)
3.4.5 Chown/fchown/1chown函数
3.5 目录及目录项操作
3.5.1 truncate/ftruncate函数
3.5.2 link/symlink函数
3.5.3 unlink函数
3.5.4 mkdir/rmdir/mknod函数
3.5.5 remove/rename函数
3.5.6 readlink函数
3.5.7 chdir/fchdir/getcwd函数
3.5.8 utime函数
3.6 其他
3.6.1 特殊设备文件
3.6.2 sync和fsync函数
3.6.3 mount和umount函数
第4章 高级I/O
4.1 直接I/O端口读写
4.2 非阻塞I/O
4.3 记录锁定
4.3.1 概念
4.3.2 fcntl锁
4.3.3 锁的继承和释放
4.3.4 建议锁与强制锁
4.4 I/O多工
4.4.1 基本概念
4.4.2 Select和poll函数
4.5 内存映射
4.5.1 基本概念
4.5.2 mmap/unmmap函数
第5章 进程
5.1 基本概念
5.1.1 进程的定义
5.1.2 进程状态
5.2 进程环境
5.2.1 main函数
5.2.2 命令行参数及popt库
5.2.3 环境变量
5.2.4 C程序的:内存布局
5.2.5 共享序
5.2.6 内存分配
5.2.7 程序的长跳转
5.2.8 进程的资源限制
5.3 进程控制
5.3.1 基本概念
5.3.2 进程创建
5.3.3 进程终止
5.3.4 进程同步
5.3.5 进程运行
5.3.6 system函数
5.3.7 进程时间
5.4 守护进程
5.4.1 基本概念
5.4.2 错误输出
5.4.3 守护进程的建立
第6章 信号
6.1 基本概念
6.1.1 信号
6.1.2 信号的产生条件
6.1.3 POSIX定义的信号
6.1.4 可重入性和中断系统调用
6.1.5 信号机制
6.2 不可靠信号
6.2.1 signal函数
6.2.2 不可靠信号的问题
6.3 可靠信号
6.3.1 术语和原语
6.3.2 信号集及其操作
6.3.3 可靠信号系统调用
6.4 与信号相关的系统调用
6.4.1 kill系统调用
6.4.2 pause系统调用
6.4.3 alarm/setitimer系统调用
6.4.4 abort系统调用
6.4.5 system系统调用
6.4.6 sleep系统调用
第7章 进程间通信
7.1 基本概念
7.1.1 进程阻塞
7.1.2 共享资源
7.1.3 锁定
7.2 管道
7.2.1 什么是管道
7.2.2 用C建立和使用管道
7.2.3 有名管道
7.3 文件与记录锁定
7.3.1 基本概念
7.3.2 System V的咨询锁定
7.3.3 BSD的咨询锁定
7.3.4 其他锁技术
7.4 System V IPC
7.4.1 概述
7.4.2 相关命令
7.5 消息队列
7.5.1 基础
7.5.2 消息队列函数
7.5.3 实例
7.6 信号量
7.6.1 基础
7.6.2 信号量函数
7.6.3 实例
7.7 共享内存
7.7.1 基础
7.7.2 相关函数
7.7.3 实例
7.7.4 综合实例
第8章 Berkeley Socket
8.1 TCP/IP协议简述
8.1.1 结构模型
8.1.2 IP协议
8.1.3 TCP和UDP协议
8.2 Socket基础
8.2.1 Socket的历史
8.2.2 Socket的功能
8.2.3 Socket类型
8.2.4 socket描述符
8.2.5 转换函数
8.3 基本socket调用
8.3.1 socket函数
B.3.2 connect函数
8.3.3 bind函数
8.3.4 1isten函数
8.3.5 accept函数
8.3.6 Send和sendto函数
8.3.7 recv和recvfrom函数
8.3.8 close函数
8.3.9 shutdown函数
8.3.10 read和write函数
8.3.11 gethostbyaddr等函数
8.3.12 inet_aton等函数
8.3.13 getprotoent函数
8.3.14 getservbyname函数
8.3.15 getsockopt和setsockopt函数
8.3.16 po11函数
8.3.17 select函数
8.4 常用报文头结构
8.4.1 IP
8.4.2 TCP
8.4.3 UDP
8.4.4 ICMP
8.5 socket实例分析
8.5.1 获得本机IP
8.5.2 如何使用DNS
8.5.3 文件流方式
8.5.4 读取一行语句
8.5.5 不定长参数
8.5.6 以Daemon方式运行
8.5.7 端口重用
8.5.8 用户登录及权限设置
8.5.9 路由跟踪
8.6 Client/Server模式
8.6.1 基础知识
8.6.2 程序结构
8.6.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.2.6 设置本线程的信号掩模
9.2.7 终止线程
9.2.8 等待线程结束
9.2.9 简单的例程
9.2.10 维护线程专有数据
9.2.11 创建线程(高级特性)
9.2.12 获得最小堆栈
9.2.13 设置线程的同时性等级
9.2.14 获取或设定线程的优先级
9.2.15 线程调度
9.3 同步对象编程
9.3.1 互斥锁
9.3.2 条件变量
9.3.3 多读单写锁
9.3.4 信号灯
9.3.5 进程间同步
第10章 剧本编程
10.1 Perl概述
10.2 Perl变量
10.2.1 标量变量
10.2.2 数组
10.2.3 关联数组
10.3 Perl的运算符
10.3.1 赋值(Assignment)运算符
10.3.2 算术(Arithmetic)运算符
10.3.3 数值(Numeric Values)关系运算符
10.3.4 字符串(String Values)关系运算符
10.3.5 逻辑(Logical)运算
10.3.6 其他常用的运算符
10.3.7 常用的文件数据(File test)运算符
10.4 基本输入输出
10.4.1 从STDIN输入
10.4.2 从<>输入
10.4.3 向STDOUT输出
10.5 控制结构
10.5.1 选择性控制结构
10.5.2 循环性控制结构
10.6 常规表达式
10.7 函数
10.7.1 用户函数
10.7.2 常用系统函数
附录A selfdef.h头文件
附录B 编译和调试
猜您喜欢