第1章 Linux程序设计基础
1.1 编程风格
1.1.1 GNU编程风格
1.1.2 LinXX内核编程风格
1.2 如何使用gcc开发应用程序
1.2.1 如何使用gcc
1.2.2 编写Makefile
1.2.3 如何使用automake和autoconf产生Makefile
1.3 Debug工具GDB
1.3.1 GDB简介
1.3.2 GDB使用说明
1.4 如何编写软件文档
1.4.1 编写软件文档常识
1.4.2 编写texinfo
1.4.3 编写Man Page
1.4.4 使用SGML编写文档
1.5 为软件选择版权和许可证
1.6 如何使用RCS/CVS来管理源代码
1.6.1 RCS
1.6.2 CVS
1.7 将软件打包
1.7.1 打包格式简介
1.7.2 RPM简介
1.7.3 制作RPM
1.8 IDE的使用
1.8.1 vim的使用
1.8.2 使用Emacs
l.8.3 使用glade
1.8.4 使用KDevelop开发KDE程序
第2章 系统和网络编程
2.1 系统编程
2.1.1 系统基本函数简介
2.1.2 信号
2.1.3 管道
2.1.4 消息队列
2.1.5 信号量
2.1.6 共享内存
2.2 网络编程
2.2.1 网络基本概念
2.2.2 套接口编程
2.2.3 网络字节次序
2.2.4 Client/Server结构
2.2.5 UDP编程
2.2.6 非阻塞模型
2.3 多线程编程
2.3.1 概述
2.3.2 创建和销毁线程
2.3.3 使用互斥量同步线程
2.3.4 用条件变量改进线程同步
2.3.5 线程专用数据
2.3.6 线程的取消和终止
2.3.7 在用户界面编程中使用线程
2.3.8 在多线程程序中使用第三方函数库
第3章 控制台编程
3.1 Curses编程
3.1.1 Curses编程简介
3.1.2 Curses程序基本结构
3.1.3 颜色和属性
3.1.4 窗口和基垫
3.1.5 光标和屏幕输出
3.1.6 键盘输入
3.1.7 菜单
3.1.8 表单
3.2 newt编程
3.2.1 newt编程简介
3.2.2 newt基本程序结构
3.2.3 newt基本组件Form
3.2.4 newt的其他基本组件
3.2.5 事件处理
3.3 SVGA Lib编程
3.3.1 SVGA模式与信息
3.3.2 绘图
3.3.3 键盘和鼠标
3.3.4 SVGALib的图形库扩展
3.4 FrameBuffer编程
3.4.1 FrameBuffer简介
3.4.2 屏幕的像素操作
3.4.3 屏幕的字符输出
3.4.4 屏幕的图像输出
3.4.5 屏幕的图像截取
第4章 X窗口系统编程
4.1 Xlib编程
4.1.1 X体系结构简介
4.1.2 X程序基本结构
4.1.3 其他基本概念
4.1.4 事件
4.1.5 窗口和客户程序间的通信
4.1.6 X国际化
4.1.7 高级编程
4.2 GTK/GNOME编程
4.2.1 GTK/GNOME简介
4.2.2 GTK编程基本示例
4.2.3 GTK布局初探
4.2.4 GTK基本组件
4.2.5 再论布局
4.2.6 GTK其他编程技巧
4.2.7 GNOME编程
4.2.8 ORBit编程
4.3 QT/KDE编程
4.3.1 QT/KDE简介
4.3.2 QT基本编程
4.3.3 QT信号和插槽
4.3.4 QT布局初探
4.3.5 QT国际化编程
4.3.6 QT基本组件
4.3.7 QT基本属性
4.3.8 再论布局
4.3.9 表皮
4.3.10 QT Designer的使用方法
4.3.11 KDE编程
4.4 Motif/LessTif编程
4.4.1 Motif/LessTif简介
4.4.2 Motif程序基本结构
4.4.3 Motif程序的国际化
4.4.4 Motif的基本组件
4.4.5 Motif的布局组件
4.4.6 复合字符串
第5章 脚本语言编程
5.1 脚本语言简介
5.2 Shell编程
5.2.1 Shell简史
5.2.2 Bash编程
5.2.3 tcsh编程
5.3 AWK编程
5.3.1 AWK简介
5.3.2 常用定义
5.3.3 如何执行AWK
5.3.4 AWK程序的主要结构
5.3.5 AWK的内部变量
5.3.6 AWK的内部函数
5.3.7 用户自定义函数
5.3.8 常用例子
5.4 使用sed编程
5.4.1 执行命令行上的编辑指令
5.4.2 sed的编辑指令
5.4.3 例程
5.4.4 函数参数
5.5 yacc/lex简介
5.6 利用正则表达式编程
5.6 正则表达式简介
5.6.2 正则表达式的语法
5.6.3 GNU Regex函数库的程序写作
第6章 国际化和中文化编程
6.1 国际化、本地化、中文化
6.1.1 国际化及相关概念
6.1.2 国际化标准组织
6.1.3 国际化的意义
6.2 locale体系结构
6.2.1 什么是locale
6.2.2 中文locale举例:zh_CN.GBK
6.3 C库中locale相关函数的使用
6.3.1 locale的设置
6.3.2 宽字符和多字节字符函数
6.3.3 使用locale相关函数
6.4 信息的国际化和本地化
6.5 X窗口系统的国际化
6.5.1 国际化的内容
6.5.2 Xlib中与国际化有关的函数
6.5.3 高级图形库函数的国际化编程
6.5.4 Xll国际化的历史和级别
6.6 在程序中实现中文打印
6.6.1 流程
6.6.2 PostScript语言简介
6.6.3 Ghostscript
6.6.4 实现中文打印的关键
6.6.5 在程序中书写中文PostScript文件
6.7 在程序中使用中文TrueType字体
6.7.1 类型
6.7.2 函数
6.7.3 用FreeType 2 API编程
附录A GNU公用许可证
附录B Linux编程推荐读物