《Linux下C语言套用编程》是2012年北京航空航天大学出版社出版的图书,作者是杨铸。
基本介绍
- 书名:Linux下C语言套用编程
- 作者:杨铸
- ISBN:9787512409057
- 定价:36.00元
- 出版社:北京航空航天大学出版社
- 出版时间:2012-09-01
- 开本:16开
内容简介
《Linux下C语言套用编程》深入浅出地讲解了Linux下C应用程式开发所需的基本工具、知识和技巧,主要包括:开发工具的使用和技巧、档案I/O编程、多进程编程、进程间通信、多执行绪编程、网路编程等内容。可以让读者轻鬆、快速入门Linux下非图形界面套用编程。
《Linux下C语言套用编程》适合大学本、专科学生,培训机构学生,自学人员以及研究生学习Linux下C语言套用编程;言简意赅,能为初学者以及转行到Linux下的Windows应用程式员节约入门学习时间。
简明实用、逻辑性强,可在有限的课时内学习完毕;配有大量可以直接运行,简单但能充分反映所学知识的案例代码;配有辅助教学的ppt、程式原始码和教学视频,非常适合作为高校的Linux下编程相关课程的教材。
作者简介
杨铸,电子科技大学通信与信息工程工学硕士,北京邮电大学计算机软体工学学士。作为TeamLeader,负责四川移动最早期的企业信息化网路的高效运行和管理维护。作为主要组织人员,组织完成了四川移动最早的简讯系统平台的建设。早期专注于Microsoft的OS和Database的技术研究与职业培训,是微软在中国的早期MCT之一,MCP号1694198。参与完成国家863计画项目——信息安全产品演示和验证平台的子课题,并与合作公司完成产品化开发——内部网路监管系统。中后期专注于嵌入式软体开发的研究与职业培训,尤喜ARM体系结构与嵌入式Linux。
图书目录
第1章Linux下C语言编程环境
1.1 Linux作业系统及相关开发工具的安装与使用
1.1.1虚拟机软体vmware的安装
1.1.2 Linux作业系统的安装
1.2基本Shell命令的使用
1.2.1常用命令
1.2.2帮助命令
1.2.3搜寻命令
1.2.4重定向与管道
1.2.5档案类型与许可权
1.3编辑器vim的使用
1.4编译器gcc的使用
1.4.1 gcc简介
1.4.2使用gcc
1.4.3 gcc常用选项
1.5调试器gdb的使用
1.5.1 gdb概述
1.5.2使用gdb
1.6 make与Makefile档案
1.6.1 Makefile简介
1.6.2 Makefile基本规则
1.6.3使用带宏的Makefile
1.6.4 Makefile隐含规则
1.1 Linux作业系统及相关开发工具的安装与使用
1.1.1虚拟机软体vmware的安装
1.1.2 Linux作业系统的安装
1.2基本Shell命令的使用
1.2.1常用命令
1.2.2帮助命令
1.2.3搜寻命令
1.2.4重定向与管道
1.2.5档案类型与许可权
1.3编辑器vim的使用
1.4编译器gcc的使用
1.4.1 gcc简介
1.4.2使用gcc
1.4.3 gcc常用选项
1.5调试器gdb的使用
1.5.1 gdb概述
1.5.2使用gdb
1.6 make与Makefile档案
1.6.1 Makefile简介
1.6.2 Makefile基本规则
1.6.3使用带宏的Makefile
1.6.4 Makefile隐含规则
第2章档案I/O编程
2.1档案I/O介绍
2.2档案描述符
2.3基本API
2.3.1 0pen
2.3.2 read
2.3.3 write
2.3.4 close
2.3.5 lseek
2.3.6基本API综合使用
2.3.7 fcntl
2.3.8 ioctl
2.3.9 select
2.3.10 poll
2.4 stat的使用
2.4.1 stat的基本使用
2.4.2档案类型的判定
2.4.3许可权设定的判定
2.4.4获取主、次设备号
2.4.5获取时间及时间格式的转换
2.5目录操作
2.5.1打开目录
2.5.2读取目录
2.5.3关闭目录
2.5.4使用範例
2.5.5迴绕目录rewinddir
2.6档案I/O编程综合案例分析——myls.c
2.6.1用于命令选项的宏定义
2.6.2子函式功能
2.6.3 main函式分析
2.6.4子函式show_link_content的实现
2.6.5子函式show_file的实现
2.6.6子函式show_dir的实现
2.6.7子函式my_get_opt的实现
2.6.8子函式get_file_list的实现
第3章多进程编程
3.1进程基础知识
3.1.1进程概念
3.1.2进程的状态及其转换
3.1.3进程标识
3.2精解Linux下C进程记忆体布局
3.2.1C进程记忆体布局说明
3.2.2C进程记忆体布局验证
3.2.3环境变数的获取与设定
3.3进程控制天字第1号系统调用——fork
3.3.1fork的机制与特性
3.3.2fork使用实例分析
3.4揭秘档案描述符的本质
3.4.1档案描述符的本质是数组元素的下标
3.4.2fork对档案描述符的影响
3.4.3标準输入、输出档案描述符与dup2
3.5父子进程同步的功臣——wait
3.5.1wait的作用
3.5.2调用wait的实例
3.5.3waitpid
3.6进程控制地字第1号系统调用——exec
3.6.1exec的机制和用法
3.6.2exec的使用实例
3.6.3exec与fork合作
3.6.4关于exec函式的6种形式
3.7gdb调试多进程程式的技巧
3.8进程的消亡
3.8.1启动例程与main函式
3.8.2exit函式与 _exit函式
3.8.3I/O流与I/O库快取
3.8.4Exit handler
3.9守护进程的编写
3.9.1进程组、对话期与控制终端
3.9.2编程规则与步骤
3.9.3出错记录
2.1档案I/O介绍
2.2档案描述符
2.3基本API
2.3.1 0pen
2.3.2 read
2.3.3 write
2.3.4 close
2.3.5 lseek
2.3.6基本API综合使用
2.3.7 fcntl
2.3.8 ioctl
2.3.9 select
2.3.10 poll
2.4 stat的使用
2.4.1 stat的基本使用
2.4.2档案类型的判定
2.4.3许可权设定的判定
2.4.4获取主、次设备号
2.4.5获取时间及时间格式的转换
2.5目录操作
2.5.1打开目录
2.5.2读取目录
2.5.3关闭目录
2.5.4使用範例
2.5.5迴绕目录rewinddir
2.6档案I/O编程综合案例分析——myls.c
2.6.1用于命令选项的宏定义
2.6.2子函式功能
2.6.3 main函式分析
2.6.4子函式show_link_content的实现
2.6.5子函式show_file的实现
2.6.6子函式show_dir的实现
2.6.7子函式my_get_opt的实现
2.6.8子函式get_file_list的实现
第3章多进程编程
3.1进程基础知识
3.1.1进程概念
3.1.2进程的状态及其转换
3.1.3进程标识
3.2精解Linux下C进程记忆体布局
3.2.1C进程记忆体布局说明
3.2.2C进程记忆体布局验证
3.2.3环境变数的获取与设定
3.3进程控制天字第1号系统调用——fork
3.3.1fork的机制与特性
3.3.2fork使用实例分析
3.4揭秘档案描述符的本质
3.4.1档案描述符的本质是数组元素的下标
3.4.2fork对档案描述符的影响
3.4.3标準输入、输出档案描述符与dup2
3.5父子进程同步的功臣——wait
3.5.1wait的作用
3.5.2调用wait的实例
3.5.3waitpid
3.6进程控制地字第1号系统调用——exec
3.6.1exec的机制和用法
3.6.2exec的使用实例
3.6.3exec与fork合作
3.6.4关于exec函式的6种形式
3.7gdb调试多进程程式的技巧
3.8进程的消亡
3.8.1启动例程与main函式
3.8.2exit函式与 _exit函式
3.8.3I/O流与I/O库快取
3.8.4Exit handler
3.9守护进程的编写
3.9.1进程组、对话期与控制终端
3.9.2编程规则与步骤
3.9.3出错记录
第4章进程间通信
4.1进程间通信概述
4.2进程间的传令兵——信号
4.2.1信号概述
4.2.2信号的捕获与处理
4.2.3实例分析
4.2.4使用gdb调试信号
4.2.5pending signal
4.2.6sigaction
4.3进程间的动脉——管道
4.3.1无名管道
4.3.2有名(命名)管道
4.4进程间的高速公路——共享记忆体
4.4.1共享记忆体的原理
4.4.2主要API
4.4.3利用共享记忆体进行进程间通信的实例
4.5高速公路上的红绿灯——信号量
4.5.1使用共享记忆体存在的同步问题
4.5.2信号量的实现原理
4.5.3使用信号量同步共享记忆体访问的设计
4.5.4信号量编程的主要API
4.5.5使用信号量同步共享记忆体访问的实例分析
4.6进程间的邮局——讯息伫列
4.1进程间通信概述
4.2进程间的传令兵——信号
4.2.1信号概述
4.2.2信号的捕获与处理
4.2.3实例分析
4.2.4使用gdb调试信号
4.2.5pending signal
4.2.6sigaction
4.3进程间的动脉——管道
4.3.1无名管道
4.3.2有名(命名)管道
4.4进程间的高速公路——共享记忆体
4.4.1共享记忆体的原理
4.4.2主要API
4.4.3利用共享记忆体进行进程间通信的实例
4.5高速公路上的红绿灯——信号量
4.5.1使用共享记忆体存在的同步问题
4.5.2信号量的实现原理
4.5.3使用信号量同步共享记忆体访问的设计
4.5.4信号量编程的主要API
4.5.5使用信号量同步共享记忆体访问的实例分析
4.6进程间的邮局——讯息伫列
第5章多执行绪编程初步
5.1执行绪的概念和优势
5.2多执行绪编程的基本API
5.2.1创建执行绪pthread_create
5.2.2结束执行绪pthread_exit
5.2.3等待执行绪结束pthread_join
5.2.4多执行绪编程实例分析
5.3多执行绪的同步与互斥
5.3.1互斥锁
5.3.2信号量
5.4执行绪属性
5.4.1创建执行绪时指定属性
5.4.2执行绪创建后改变属性
5.5使用gdb调试多执行绪程式
5.1执行绪的概念和优势
5.2多执行绪编程的基本API
5.2.1创建执行绪pthread_create
5.2.2结束执行绪pthread_exit
5.2.3等待执行绪结束pthread_join
5.2.4多执行绪编程实例分析
5.3多执行绪的同步与互斥
5.3.1互斥锁
5.3.2信号量
5.4执行绪属性
5.4.1创建执行绪时指定属性
5.4.2执行绪创建后改变属性
5.5使用gdb调试多执行绪程式
第6章网路编程
6.1socket编程所需网路通信基础知识
6.1.1客户端程式和服务端程式
6.1.2常用的命令
6.1.3TCP/UDP介绍
6.1.4数据封包与解包
6.1.5TCP连线建立过程——3次握手
6.1.6TCP连线终止过程——4分节终止序列
6.2伺服器和客户机的信息函式
6.2.1位元组序列转换
6.2.2地址格式转换
6.2.3IP和域名的转换
6.2.4服务信息函式
6.3TCP socket编程
6.3.1编程模型
6.3.2主要API
6.3.3实例分析
6.3.4令人困惑的“不能绑定到指定地址”的错误
6.3.5套接口地址结构几点特别说明
6.3.6叠代伺服器与并发伺服器
6.4UDP socket编程
6.4.1编程模型
6.4.2主要API
6.4.3实例分析
6.4.4特别说明
6.5高级套接字函式
6.5.1send和recv
6.5.2sendmsg和recvmsg
6.5.3shutdown
6.1socket编程所需网路通信基础知识
6.1.1客户端程式和服务端程式
6.1.2常用的命令
6.1.3TCP/UDP介绍
6.1.4数据封包与解包
6.1.5TCP连线建立过程——3次握手
6.1.6TCP连线终止过程——4分节终止序列
6.2伺服器和客户机的信息函式
6.2.1位元组序列转换
6.2.2地址格式转换
6.2.3IP和域名的转换
6.2.4服务信息函式
6.3TCP socket编程
6.3.1编程模型
6.3.2主要API
6.3.3实例分析
6.3.4令人困惑的“不能绑定到指定地址”的错误
6.3.5套接口地址结构几点特别说明
6.3.6叠代伺服器与并发伺服器
6.4UDP socket编程
6.4.1编程模型
6.4.2主要API
6.4.3实例分析
6.4.4特别说明
6.5高级套接字函式
6.5.1send和recv
6.5.2sendmsg和recvmsg
6.5.3shutdown
第7章Linux下C开发环境使用进阶
7.1编辑器vim的使用
7.2编译器gcc的使用
7.2.1gcc警告提示功能
7.2.2库依赖
7.2.3gcc代码最佳化
7.2.4gcc编译加速
7.2.5gcc的错误类型及对策
7.3程式库档案的製作、连结、载入精解
7.3.1Linux下ELF档案格式
7.3.2库函式的编写者如何製作库档案
7.3.3应用程式的编写者如何使用(连结)库档案
7.3.4应用程式的使用者如何载入库档案
7.3.5静态库档案的製作和使用
7.4调试器gdb的使用
7.4.1gdb的命令概貌
7.4.2gdb中运行Linux的shell程式
7.4.3在gdb中配置程式运行环境
7.4.4调试已运行的程式
7.4.5暂停/恢复程式运行
7.4.6查看栈信息
7.4.7查看源程式
7.4.8查看运行时数据
7.4.9改变程式的执行
7.5autoconf和automake生成Makefile档案
7.5.1引子
7.5.2模拟需求
7.5.3工具简介
7.5.4生成 Makefile 的来龙去脉
7.5.5Configure .in的八股文
7.5.6实战Makefile .am
7.1编辑器vim的使用
7.2编译器gcc的使用
7.2.1gcc警告提示功能
7.2.2库依赖
7.2.3gcc代码最佳化
7.2.4gcc编译加速
7.2.5gcc的错误类型及对策
7.3程式库档案的製作、连结、载入精解
7.3.1Linux下ELF档案格式
7.3.2库函式的编写者如何製作库档案
7.3.3应用程式的编写者如何使用(连结)库档案
7.3.4应用程式的使用者如何载入库档案
7.3.5静态库档案的製作和使用
7.4调试器gdb的使用
7.4.1gdb的命令概貌
7.4.2gdb中运行Linux的shell程式
7.4.3在gdb中配置程式运行环境
7.4.4调试已运行的程式
7.4.5暂停/恢复程式运行
7.4.6查看栈信息
7.4.7查看源程式
7.4.8查看运行时数据
7.4.9改变程式的执行
7.5autoconf和automake生成Makefile档案
7.5.1引子
7.5.2模拟需求
7.5.3工具简介
7.5.4生成 Makefile 的来龙去脉
7.5.5Configure .in的八股文
7.5.6实战Makefile .am
参考文献