《Linux应用开发基础》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:黄超等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:7111107071
  • 页数:330 页
图书介绍:

第1章 Linux编程基础 1

1.1 编程基础 2

1.1.1 C语言的历史 2

1.1.2 vi简介 3

1.1.3 ?的安装与启用 4

1.2 Linux下C程序的开发步骤 8

1.2.1 设计程序和编写源代码 8

1.2.2 编译源代码 11

1.2.3 运行 12

1.2.4 调试 12

1.2.5 修改与维护 13

1.3 小结 13

第2章 从C到C++ 15

2.1.2 C++程序的基本结构 16

2.1 C++基础知识 16

2.1.1 C++语言介绍 16

2.1.3 编译与运行 20

2.2 类 21

2.2.1 类的概念 22

2.2.2 构造函数和析构函数 24

2.2.3 类成员 29

2.2.4 友员、嵌套与结构 36

2.3 派生 40

2.3.1 派生类 40

2.3.2 访问基类中的成员 45

2.3.3 多继承 47

2.4 小结 50

第3章 Linux开发环境 53

3.1.1 Linux下开发环境简介 54

3.1 Linux下开发环境 54

3.1.2 集成开发环境 55

3.2 集成软件开发环境WipeOut 61

3.2.1 WipeOut的组件和特性 61

3.2.2 版本浏览器 62

3.2.3 WipeOut的所见即所得 64

3.2.4 版本控制 66

3.2.5 编辑器 67

3.2.6 语法醒目性 68

3.2.7 Make-Shell 68

3.2.8 调试器 69

3.2.9 编写自己的WipeOut组件 71

3.3 小结 71

第4章 Linux符号调试器gdb 73

4.1 gdb介绍 74

4.2 gdb使用 78

4.2.1 gdb基本命令 78

4.2.2 启动方式 78

4.2.3 命令说明 78

4.2.4 运行gdb的详细说明 79

4.2.5 gdb测试步骤 80

4.2.6 模式的选择 81

4.2.7 退出gdb 82

4.2.8 Shell命令 82

4.2.9 Command语法 82

4.2.10 输入命令的技巧 83

4.2.11 得到帮助 83

4.2.12 在gdb下运行程序 85

4.2.13 停止和继续 90

4.2.14 断点、观察点和异常 90

4.3 简单实例 97

4.4 小结 101

第5章 开发工具GNU make 103

5.1 make简介 104

5.2 多文件项目 104

5.2.1 为什么分解项目 105

5.2.2 什么时候分解项目 105

5.2.3 如何分解项目 106

5.2.4 对于常见错误的注释 106

5.2.5 重新编译多文件项目 107

5.3 GNU make工具 108

5.3.1 基本makefile结构 108

5.3.2 编写make规则 109

5.3.3 makefile变量 109

5.3.5 假象目的 111

5.3.4 隐含规则 111

5.3.6 函数 112

5.3.7 makefile实例 112

5.4 GNU automake 113

5.4.1 开始之前 114

5.2.2 简单的例子 114

5.4.3 深入了解 116

5.4.4 通用性概念 116

5.4.5 实例软件包 119

5.4.6 编辑configure.in文件 134

5.4.7 编辑makefile.am文件 138

5.4.8 使用makefile 139

5.5 小结 140

第6章 gawk开发 141

6.1 gawk介绍 142

6.2.1 基本格式 143

6.2 初识gawk 143

6.2.2 执行方法 144

6.3 gawk脚本 144

6.3.1 gawk内部变量 144

6.3.2 分解输入 145

6.3.3 字段 146

6.3.4 将记录分解成字段 146

6.4 打印输出 147

6.4.1 print打印 147

6.4.2 输出分隔 148

6.4.3 printf打印 149

6.5 gawk模式 150

6.6 控制结构 152

6.7.1 数值方面的内部函数 154

6.7 内部函数 154

6.7.2 字符串方面的内部函数 155

6.7.3 输入输出的内部函数 156

6.8 自定义的函数 156

6.8.1 函数定义的格式 156

6.8.2 函数定义的例子 157

6.9 几个实例 157

6.10 小结 158

第7章 深入认识Linux系统 159

7.1 Linux系统 160

7.2 Linux系统内核 160

7.3 登录1ogin 161

7.3.1 init进程 161

7.3.2 登录过程 161

7.4.1 根文件系统 163

7.4 文件系统 163

7.4.2 /etc目录 164

7.4.3 /dev目录 165

7.4.4 /usr文件系统 165

7.4.5 /var文件系统 166

7.4.6 /proc文件系统 166

7.5 程序和进程 172

7.6 用户标识 172

7.7 信号 172

7.8 系统中的时间 174

7.8.1 硬件时钟和软件时钟 175

7.8.2 显示和设置时钟 175

7.8.3 时钟错误 176

7.9 系统调用 176

7.10 小结 177

第8章 文件和目录 179

8.1 文件和目录介绍 180

8.2 获取信息节点 180

8.3 文件类型 182

8.4 文件访问权限 183

8.5 access函数 184

8.6 umask函数 184

8.7 改变访问权限 185

8.8 改变所有者 185

8.9 Linux文件系统 186

8.10 链接、删除和重命名 186

8.11 符号链接 187

8.12 文件时间及utime函数 187

8.14 读取目录 188

8.13 创建和删除目录 188

8.15 目录操作函数 189

8.16 小结 189

第9章 Linux进程控制 191

9.1 产生子进程 192

9.2 程序分解 192

9.3 程序分解实例 192

9.3.1 fork实例一 192

9.3.2 fork实例二 193

9.3.3 fork实例三 194

9.3.4 fork实例四 196

9.4 线程 197

9.5 线程实例 198

9.7 Signals实例 199

9.6 信号 199

9.8 小结 202

第10章 多线程编程 203

10.1 多线程编程简介 204

10.1.1 线程基础 204

10.1.2 定义多线程术语 205

10.1.3 多进程程序的特点 205

10.2 多进程编程技巧 206

10.2.1 主要程序结构 206

10.2.2 选择主体分叉点 207

10.2.3 进程间关系处理 207

10.3 多线程的益处 210

10.4 多线程编程 213

10.4.1 线程函数库 213

10.4.2 创建线程 214

10.4.5 挂起或继续执行线程 215

10.4.4 放弃执行 215

10.4.3 获取线程号 215

10.4.6 向线程发信号 216

10.4.7 设置本线程的信号掩码 216

10.4.8 终止线程 217

10.4.9 等待线程结束 218

10.4.10 简单的例程 219

10.4.11 维护线程专有数据 219

10.4.12 高级特性 222

10.5 使用同步对象编程 227

10.5.1 互斥锁 227

10.5.2 条件变量 233

10.5.3 多读单写锁 238

10.5.4 信号量 242

10.5.5 进程间同步 245

10.5.6 同步原语的比较 247

10.6 编译和调试 247

10.6.1 编译多线程应用程序 247

10.6.2 调试多线程应用程序 248

10.7 编程指南 248

10.7.1 重新认识全局变量 249

10.7.2 静态局部变量 249

10.7.3 线程同步 250

10.7.4 避免死锁 251

10.7.5 基本注意事项 252

10.7.6 关于多处理器 254

10.8 常用多线程系统函数 257

11.1.1 用C语言创建管道 262

10.9 小结 280

第11章 Linux进程间通信 281

11.1 半双工管道 282

11.1.2 使用管道 286

11.1.3 原子操作 289

11.2 命名管道(FIFOs) 289

11.2.1 创建命名管道 289

11.2.2 操作命名管道 290

11.2.3 阻塞动作 291

11.2.4 SIGPIPE信号 292

11.3 进程间通信 292

11.3.1 IPC标识符 292

11.3.2 IPC键(key) 292

11.3.4 ipcrm命令 293

11.4 消息队列 293

11.3.3 ipcs命令 293

11.4.1 内部数据结构 294

11.4.2 消息队列的系统函数 296

11.4.3 msgtool的实例 302

11.5 信号 304

11.5.1 内部数据结构 304

11.5.2 信号系统函数 305

11.5.3 信号集实例 309

11.6 内存共享 313

11.7 小结 317

第12章 Linux网络编程基础 319

12.1 socket基本概念 320

12.2 端口和socket 321

12.3 socket程序设计 322

12.4 进程间通信 329

12.5 网络理论 329

12.6 小结 330