《Linux应用程序设计》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:刘志刚,郭艳颖主编;高延增,邓人铭副主编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121189098
  • 页数:228 页
图书介绍:本书重点讲解了怎样使用Linux系统应用编程接口进行软件设计,从搭建Linux开发环境和开发工具开始,重点通过一系列讲解和实训任务完成在Linux系统上进行文件读写、进程与线程控制、网络通信、数据库和界面设计等应用编程的任务。每个部分都由简单的接口示例开始,逐渐扩展到最常用的真实应用场景。本书共9章,其中第1和第2章介绍搭建开发环境和开发工具,第3至第7章为基本Linux应用接口实训部分,第8和第9章为常用Linux软件应用的实训部分。

第1章 安装和卸载Linux系统 1

1.1 系统概述 1

1.2 系统命令 2

1.3 系统函数 3

1.4 实训任务1安装VMware虚拟机 4

1.5 实训任务2安装Linux系统 8

1.6 实训任务3安装VMware工具 13

1.7 实训任务4测试Linux系统可用性 14

1.8 实训任务5卸载Linux系统 16

第2章 搭建开发环境 17

2.1 代码编辑器 17

2.2 GCC编译器 17

2.2.1 编译流程 18

2.2.2 编译选项 18

2.2.3 静态库和动态库 21

2.2.4 常见编译错误 21

2.3 GDB调试器 22

2.3.1 基本介绍 22

2.3.2 基本命令 22

2.4 Make工程管理器 25

2.5 常用系统函数 26

2.5.1 内存操作函数 26

2.5.2 字符串操作函数 28

2.5.3 时间操作函数 29

2.6 实训任务1 安装和使用Source Insight 30

2.7 实训任务2 安装和使用eclipse 32

2.8 实训任务3 使用VI 35

2.9 实训任务4 使用GCC创建函数库 37

2.10 实训任务5 使用GDB调试程序 40

2.10.1 基本使用流程 40

2.10.2 调试错误程序实验 44

2.11 实训任务6 使用Make管理项目工程 45

2.11.1 简单Make程序创建 45

2.11.2 Makefile改进 48

第3章 应用文件I/O 51

3.1 Linux文件结构 51

3.2 文件I/O基本操作 52

3.2.1 不带缓存的I/O操作 52

3.2.2 带缓存的I/O操作 58

3.3 文件I/O高级操作 65

3.3.1 文件锁 65

3.3.2 多路复用 68

3.4 实训任务1 不带缓存的文件内容拷贝 69

3.5 实训任务2 带缓存的文件内容拷贝 71

3.6 实训任务3 字符串文件内容解析 72

3.7 实训任务4 文件加锁读/写 73

3.8 实训任务5 多路复用记录输入字符串 76

3.9 实训任务6 文件操作综合实验 79

第4章 管理多线程 87

4.1 线程概述 87

4.2 Linux线程控制 88

4.2.1 线程基本操作 88

4.2.2 线程属性 91

4.3 线程互斥锁 93

4.4 实训任务1 创建两个新线程 95

4.5 实训任务2 设置新线程属性 96

4.6 实训任务3 应用线程锁保护全局资源 99

4.7 实训任务4 多线程综合实训 101

第5章 管理多进程 103

5.1 进程概述 103

5.1.1 程序与进程 103

5.1.2 进程结构 104

5.1.3 进程属性 105

5.1.4 进程管理 106

5.1.5 进程模式 107

5.2 Linux进程控制 107

5.2.1 fork函数 107

5.2.2 exec函数族 108

5.2.3 exit和exit函数 110

5.2.4 wait和waitpid函数 110

5.3 守护进程 111

5.4 信号 111

5.5 实训任务1 fork进程并查看进程PID 116

5.6 实训任务2 应用exec函数族替换进程内容 117

5.7 实训任务3 使用it和_exit退出进程 119

5.8 实训任务4 使用waitpid等待进程退出 120

5.9 实训任务5 创建守护进程 121

第6章 应用进程间通信 128

6.1 概述 128

6.2 管道 128

6.2.1 无名管道 129

6.2.2 有名管道 130

6.3 共享内存 131

6.3.1 共享内存概述 131

6.3.2 共享内存相关函数 131

6.4 消息队列 133

6.4.1 消息队列概述 133

6.4.2 消息队列相关函数 133

6.5 信号量 135

6.5.1 信号量基本操作 135

6.5.2 信号量相关函数 135

6.6 实训任务1 创建无名管道 137

6.7 实训任务2 创建有名管道 138

6.8 实训任务3 创建共享内存 140

6.9 实训任务4 应用消息队列进行间通信 142

6.10 实训任务5 创建信号量保护共享资源 144

第7章 应用网络通信 146

7.1 网络编程基础概念 146

7.1.1 TCP/IP基本概念 146

7.1.2 IP地址、端口与域名 146

7.1.3 套接字socket 147

7.1.4 套接字数据结构 148

7.1.5 网络相关函数 149

7.2 网络基础编程 152

7.2.1 面向连接的套接字(TCP) 153

7.2.2 无连接的套接字(UDP) 156

7.3 网络高级编程 157

7.4 多播广播 158

7.5 实训任务1 客户端与服务器使用TCP通信 163

7.6 实训任务2 服务器和客户端使用UDP通信 166

7.7 实训任务3 网络聊天室 169

第8章 应用嵌入式数据库 175

8.1 嵌入式数据库概述 175

8.2 SQLite基本语法 178

8.2.1 新建一个数据库 178

8.2.2 创建表和插入值 178

8.2.3 在线帮助 179

8.2.4 查看当前数据库下的所有表 180

8.2.5 退出SQLite 3.0 180

8.3 SQLite编程与应用 180

8.3.1 如何打开关闭数据库 181

8.3.2 执行SQL语句 182

8.4 实训任务1 SQLite编译与安装 184

8.5 实训任务2 应用SQLite API打开数据库 185

8.6 实训任务3 SQLite命令模式 188

第9章 应用Qt界面设计 192

9.1 Qt介绍 192

9.2 Qt Designer使用 194

9.3 Qt对话框 195

9.4 Qt的信号与槽 196

9.5 Qt的类 201

9.6 如何从参考文档获得帮助 201

9.7 实训任务1 Qt的安装 204

9.8 实训任务2 使用Designer创建Hello World 205

9.9 实训任务3 美化Hello World 212

9.10 实训任务4 实现软键盘 214

9.11 实训任务5 实现QQ聊天程序综合实验 219

9.11.1 实验目的 219

9.11.2 实验环境 219

9.11.3 实验内容 219

9.11.4 实验步骤 219

9.11.5 实验代码 220

9.11.6 实验结果 227

参考文献 228