红联Linux门户
Linux帮助

LINUX应用开发技术详解(附CD-ROM光盘一张)

发布时间:2008-01-12 12:35:29来源:红联作者:bliunxrf
本书介绍在Linux系统下的程序设计技术,全面涵盖了Linux应用程序开发的各个专题,内容详尽,条理清晰。

本书特色:
对从WINDOWS平台程序开发到Linux平台的程序开发过渡做了说明,即使初次接触Linux也能很快上手。
剖析了Linux应用开发的主要专题,例如进程、进程间通讯、线程、网络、图形及数据库等。
使用实例的方法对每一个专题进行细致的介绍。

本书全面介绍了Linux的编程知识,包括Linux程序的调试、Shell编程、Linux的内存管理、Linux的系统调用、标准I/O流、进程与进程调度、进程间通信、信号编程、Linux多线程编程、网络编程、数据库编程、图形编程等。书中最后还介绍了近年来较为热门的Linux国际化和本地化程序设计。

本书内容丰富、深入浅出,每章内容都含有大量编程实例,以加强读者理解和提供给读者使用。本书适合希望利用Linux进行开发的程序设计人员阅读,也可作为在校大学生和研究生学习Linux程序设计入门知识的参考书。

作  者: 范永开,杨爱林 编著
出 版 社: 人民邮电出版社
当当购买三十六元

目录
第1章 GNU/Linux系统简介 1
1.1 GNU/Linux概述 1
1.2 GNU/Linux的特点 1
1.3 安装GNU/Linux 2
1.4 Linux 2.6内核的一些重要特性 6
1.4.1 使用了新的调度算法 6
1.4.2 内核抢占 7
1.4.3 改进的虚拟内存 7
1.4.4 改进的内存管理 7
1.4.5 工作队列接口 8
1.4.6 中断例程的变化 8
1.4.7 统一的设备模型 9

第2章 Linux使用基础 11
2.1 系统登录 11
2.2 Linux的基本命令 12
2.2.1 ls命令:列出文件名 12
2.2.2 cd命令:改变目录 12
2.2.3 cp命令:文件复制 13
2.2.4 rm命令:文件删除 13
2.2.5 mv命令:文件移动 13
2.2.6 mkdir命令:创建目录 14
2.2.7 rmdir命令:删除目录 14
2.2.8 chmod命令:改变文件或目录的访问权限 14
2.2.9 chown命令:改变档案所属者 15
2.2.10 chgrp命令:改变文件或目录所属的组 16
2.2.11 ps命令:查看进程 16
2.2.12 top命令:另一个查看进程的命令 18
2.2.13 kill命令:杀死进程 18
2.2.14 du命令:查看磁盘使用情况 19
2.3 编译内核 19
2.4 Linux中的文本编辑器 21
2.4.1 vi 21
2.4.2 Emacs 24

第3章 Linux程序设计入门 25
3.1 使用GNU CC编程 25
3.1.1 GCC简介 25
3.1.2 “Hello,World!” 25
3.1.3 GCC的主要选项 27
3.1.4 PGCC简介 28
3.2 使用GNU make 28
3.2.1 初识Makefile 28
3.2.2 Makefile规则 29
3.2.3 Makefile中的变量 30
3.2.4 一个简单的Makefile文件 31
3.2.5 假想目标(Phony Targets) 32
3.2.6 条件语句 32
3.2.7 依赖关系 33
3.2.8 函数 33
3.2.9 Makefile的扩展变量 35
3.2.10 Makefiles中的替换 35
3.3 使用autoconf 38
3.3.1 创建configure脚本 38
3.3.2 编写configure.in文件 38
3.3.3 用autoconf创建configure 39
3.3.4 更新configure脚本 40
3.4 使用automake 41

第4章 调试 44
4.1 GDB概述 44
4.1.1 GDB使用示例 45
4.1.2 启动GDB 47
4.1.3 模式的设置 47
4.1.4 退出GDB 48
4.1.5 shell命令的使用 48
4.2 在GDB下运行程序 48
4.2.1 输入命令的技巧 49
4.2.2 调试程序的注意事项 50
4.2.3 调试程序环境设置 51
4.2.4 运行程序 52
4.3 调试一个已经运行的程序 52
4.3.1 结束子进程 52
4.3.2 附加的进程信息 53
4.3.3 对多线程程序的调试 53
4.3.4 对多进程程序的调试 54
4.3.5 停止和继续 54
4.3.6 设置断点,观测点和异常 54

第5章 shell编程 61
5.1 shell简介 61
5.2 shell基础编程 62
5.2.1 环境变量与shell变量 62
5.2.2 条件测试 66
5.2.3 控制流结构 68
5.2.4 shell内嵌命令 73
5.2.5 shell函数 76
5.2.6 shell输入与输出 76
5.3 shell高级编程 79
5.3.1 命令的排列、调度与替换 79
5.3.2 文件名匹配 80
5.3.3 引用 81
5.3.4 在shell中常用的系统命令 83
5.3.5 shell脚本的调试 84
5.3.6 shell编程实例 84

第6章 内存管理 91
6.1 内存的错误使用及其对策 91
6.1.1 使用 91
6.1.2 对策 92
6.2 内存管理与系统函数 93
6.2.1 内存管理 93
6.2.2 系统函数 94
6.3 内存管理器 106
6.4 内存管理方法 110
6.4.1 内存池 110
6.4.2 垃圾收集 111

第7章 Linux系统调用 113
7.1 综述 113
7.2 系统调用入口 114
7.3 常用系统调用 115

第8章 Linux标准I/O流 163
8.1 流和FILE对象 163
8.2 打开和关闭流 163
8.3 数据块读写流 165
8.4 字符读写流 165
8.5 字符串读写流 166
8.6 定位流 167
8.7 文件流的检测 169
8.8 格式化I/O 169
8.9 其他相关函数 171

第9章 进程与进程调度 177
9.1 进程的属性 177
9.2 进程的状态 178
9.3 进程的结构 178
9.4 进程控制 179
9.5 进程调度 180
9.6 进程的一般操作 181
9.6.1 进程的创建 181
9.6.2 进程的执行 183
9.6.3 进程的消亡 185
9.7 进程的管理 186
9.8 进程的相关系统调用 187
9.8.1 获取、设置进程相关的ID 187
9.8.2 相关函数 189
9.9 示范程序 192

第10章 进程间通信 195
10.1 概述 195
10.2 管道 196
10.2.1 管道的创建和读写 196
10.2.2 管道应用实例 197
10.2.3 popen和pclose 199
10.3 命名管道(FIFO) 200
10.3.1 命名管道的创建与读写 200
10.3.2 命名管道应用实例 201
10.4 内存映射 204
10.5 消息队列 205
10.5.1 消息队列处理函数 205
10.5.2 消息队列应用实例 207
10.6 共享内存 210
10.6.1 共享内存处理函数 210
10.6.2 共享内存应用实例 211
10.7 信号量 215
10.7.1 信号量的处理函数 215
10.7.2 信号量应用实例 217
10.8 基于Socket的多进程实时通信 221
10.9 双向进程间通信管道 221

第11章 信号 224
11.1 概述 224
11.2 信号的产生 228
11.3 信号操作 230
11.4 信号相关函数简介 231
11.5 示范程序 237
11.5.1 服务器程序模式 237
11.5.2 应用程序模式 239

第12章 多线程编程 242
12.1 多线程编程入门 243
12.2 创建线程 244
12.2.1 线程的创建 244
12.2.2 Linux中创建线程 245
12.2.3 pthread_join()和pthread_exit() 245
12.3 取消线程 247
12.4 线程私有数据 248
12.5 互斥锁 250
12.6 信号灯 255
12.7 线程终止 256
12.8 一些不常见的API 258
12.9 示范程序 259

第13章 Linux下的数据库编程 264
13.1 MySQL的使用 264
13.1.1 启动、停止MySQL服务器 265
13.1.2 管理和使用MySQL 265
13.1.3 mysqladmin的使用 267
13.2 MySQL的C语言程序接口 267
13.3 程序演示 275
13.4 Linux下的Oracle数据库编程 280
13.4.1 创建用户和表 281
13.4.2 Pro*C编程 281

第14章 网络编程 284
14.1 网络基本概念 284
14.1.1 网络协议 284
14.1.2 端口号 288
14.1.3 地址 289
14.1.4 连接 289
14.1.5 服务方式 290
14.1.6 客户机/服务器模式 290
14.1.7 其他概念 291
14.2 SOCKET编程 292
14.2.1 数据类型 292
14.2.2 常用函数 293
14.2.3 域名服务相关函数 303
14.2.4 地址转换相关函数 304
14.2.5 其他相关函数 305
14.2.6 select函数的使用 306
14.3 示范程序 308
14.3.1 面向连接的客户/服务模型 308
14.3.2 无连接的客户/服务器模型 310
14.3.3 多播模型 313
14.3.4 套接字聊天模型 315

第15章 Linux图形编程 320
15.1 Graphics与GUI 320
15.2 Linux下的图形库 320
15.3 SDL简介 321
15.4 安装和使用SDL开发库 321
15.5 初始化图形模式 322
15.5.1 初始化SDL 322
15.5.2 设置视频显示模式 323
15.5.3 完整的实例 323
15.6 基本绘图 324
15.6.1 点的绘制 324
15.6.2 线的绘制 326
15.6.3 矩形的绘制与填充 326
15.6.4 圆的绘制 327
15.6.5 现成的库 328
15.7 图片显示 328
15.8 文字显示 329
15.8.1 SFont 329
15.8.2 TrueType字体的显示 330
15.8.3 点阵字库的显示 331
15.8.4 文字图片 333
15.9 动画 334
15.9.1 简单动画的实现 334
15.9.2 多子帧动画 335
15.10 三维绘图 339
15.11 浅谈游戏编程 345

第16章 国际化和中文化编程 349
16.1 国际化的相关概念 349
16.1.1 国际化 349
16.1.2 本地化 350
16.1.3 中文化 351
16.1.4 国际化标准组织 352
16.1.5 国际化的意义 352
16.1.6 国际化的历史和级别 353
16.2 汉字编码 353
16.3 Linux的汉化 356
16.3.1 系统汉化 356
16.3.2 输入法 358
16.3.3 XWindow系统的国际化 360
16.4 信息的国际化 361
16.5 Linux下locale编程 361
16.6 kdevelop环境下的qt中文化程序设计 363
16.7 KDE国际化编程 367
16.8 Gtk+/Gnome的汉化 368
16.9 Unicode在Linux上的应用 369
16.10 中文Linux 370
16.10.1 基本要求 370
16.10.2 中文Linux技术 370
16.11 XWindow下的输入法 371
16.11.1 背景 371
16.11.2 XIM协议的原理 372
16.11.3 程序接口 376
16.11.4 实用函数 378
16.11.5 XIM开发工具IMdkit简介 380
16.11.6 XIM程序设计要求 382

第17章 综合实例 384
17.1 程序功能概述 384
17.2 功能函数详解 391
17.2.1 main函数 391
17.2.2 初始化函数 392
17.2.3 设置硬件设备的函数 395
17.2.4 创建新进程的函数 399
17.2.5 进程处理的函数 401
17.2.6 命令解析的函数 404
17.2.7 信号量相关的函数 407
17.2.8 读取消息的函数 408
17.2.9 处理消息的函数 413
17.2.10 与定时器有关的函数 418
17.2.11 与GPRS数据传输相关的函数 422
17.2.12 配置文件的读写 426
17.2.13 获取短消息的函数 427
17.2.14 AT指令集相关函数 430
文章评论

共有 2 条评论

  1. e0easy 于 2008-01-17 11:38:04发表:

    挺详细的,楼主推荐的话,我也搞一本来瞧瞧

  2. bliunxrf 于 2008-01-12 12:36:35发表:

    评价这本书如何