第一部分 基本理论 1
第1章 应用系统迁移移植基础 1
1.1 必要性分析 1
1.2 迁移移植原则 1
1.3 迁移移植过程 2
1.3.1 过程定义 2
1.3.2 迁移需求分析 2
1.3.3 关键技术迁移设计 3
1.3.4 编码迁移移植 4
1.4 平台差异性与移植对策 5
1.4.1 应用系统组件 5
1.4.2 用户工作环境 6
1.4.3 开发工具/语言/平台 7
1.4.4 应用开发技术 7
1.4.5 本书主要内容 8
第二部分 基于套接字网络通信技术的应用系统迁移移植 9
第2章 可移植性分析 9
2.1 平台实现 9
2.2 差异性分析 10
2.2.1 SOCKET数据类型 10
2.2.2 fd_set宏定义 10
2.2.3 错误码 11
2.2.4 资源限制 11
2.2.5 函数名称 11
第3章 基本功能迁移移植 13
3.1 创建和连接 13
3.1.1 接口差异性 13
3.1.2 移植实现 18
3.2 通信和关闭 19
3.2.1 接口差异性 20
3.2.2 移植实现 23
3.3 字节序 24
3.3.1 接口差异性 25
3.3.2 移植实现 25
第4章 高级功能迁移移植 27
4.1 socket选项 27
4.1.1 接口差异性 27
4.1.2 移植实现 28
4.2 I/O控制 30
4.2.1 接口差异性 30
4.2.2 移植实现 32
4.3 名称与地址转换 33
4.3.1 接口差异性 34
4.3.2 移植实现 39
第5章 I/O模型迁移移植 41
5.1 模型概述 41
5.2 异步阻塞 42
5.2.1 实现概述 42
5.2.2 接口差异性 42
5.2.3 移植实现 43
5.3 异步选择 45
5.3.1 实现概述 45
5.3.2 接口差异性 46
5.3.3 移植实现 47
5.4 事件选择 54
5.4.1 实现概述 54
5.4.2 接口差异性 54
5.4.3 移植实现 55
5.5 重叠I/O 62
5.5.1 实现概述 62
5.5.2 接口差异性 62
5.5.3 移植实现 64
5.6 完成端口 79
5.6.1 实现概述 79
5.6.2 接口差异性 80
5.6.3 移植实现 82
第三部分 基于并发多任务开发技术的应用系统迁移移植 90
第6章 可移植性分析 90
6.1 线程模型 90
6.2 差异性分析 91
6.2.1 进程创建 91
6.2.2 线程创建 92
6.2.3 IPC通信机制 92
第7章 进程编程迁移移植 93
7.1 进程创建与退出 93
7.1.1 创建进程 93
7.1.2 进程退出 94
7.2 进程控制 95
7.2.1 终止进程 95
7.2.2 进程同步 95
7.3 进程属性 96
7.3.1 环境变量 97
7.3.2 进程优先级 98
7.3.3 当前进程ID 98
7.4 移植实现 99
第8章 线程编程迁移移植 101
8.1 线程创建与退出 101
8.1.1 创建线程 101
8.1.2 线程退出 102
8.2 线程控制 103
8.2.1 终止线程 103
8.2.2 挂起/恢复线程 104
8.2.3 线程同步 105
8.3 线程属性 105
8.3.1 线程优先级 106
8.3.2 线程ID 106
8.4 线程本地存储 107
8.4.1 分配与释放索引 107
8.4.2 获取与设置数据 108
8.5 移植实现 109
第9章 IPC机制迁移移植 112
9.1 匿名管道 112
9.1.1 创建与关闭 113
9.1.2 读写操作 113
9.1.3 移植实现 114
9.2 内存映射文件 118
9.2.1 创建与关闭 119
9.2.2 连接与分离 121
9.2.3 移植实现 122
9.3 邮槽 126
9.3.1 创建与关闭 127
9.3.2 读写操作 128
9.3.3 移植实现 129
9.4 互斥锁 131
9.4.1 创建与销毁 132
9.4.2 加锁与解锁 133
9.4.3 实现 133
9.5 信号量 136
9.5.1 创建与销毁 137
9.5.2 获取与释放 139
9.5.3 移植实现 140
9.6 事件 142
9.6.1 创建与销毁 144
9.6.2 等待事件 145
9.6.3 设置与重置 145
9.6.4 移植实现 146
9.7 临界区 149
9.7.1 初始化与销毁 150
9.7.2 进入与离开 151
9.7.3 移植实现 151
第四部分 图形用户界面迁移移植 155
第10章 应用开发框架 155
10.1 框架模式 155
10.1.1 MFC文档/视图 155
10.1.2 Qt模型/视图 157
10.1.3 相关开发类 159
10.2 应用类型 162
10.3 消息响应机制 165
10.3.1 MFC消息机制 165
10.3.2 Qt信号槽机制 167
第11章 图形绘制基础设施 168
11.1 绘图系统 168
11.2 核心能力 168
11.2.1 图元绘制 169
11.2.2 位图处理 169
11.2.3 图元文件 171
11.2.4 打印操作 171
11.2.5 路径绘制 172
11.2.6 属性设置 173
11.2.7 坐标及映射 174
11.3 特效支持 176
11.3.1 反走样技术 176
11.3.2 半透明效果 177
11.4 绘图工具类 180
11.4.1 画笔 180
11.4.2 画刷 182
11.4.3 字体 184
11.4.4 调色板 186
11.4.5 区域 188
11.5 移植实例 189
11.5.1 Windows实现 189
11.5.2 移植分析 189
11.5.3 Linux对应实现 191
第12章 图形界面开发类 194
12.1 开发类结构 194
12.2 对话框类 196
12.2.1 字体选择对话框 196
12.2.2 颜色选择对话框 198
12.2.3 文件选择对话框 200
12.3 控件类 203
12.3.1 按钮控件 204
12.3.2 编辑框控件 206
12.3.3 组合框 209
12.3.4 列表框控件 212
12.3.5 进度条控件 214
12.3.6 列表视图控件 216
12.3.7 树形视图控件 220
12.3.8 滚动条 224
12.3.9 工具条 226
12.3.10 选项卡控件 228
12.4 布局类 231
12.5 移植实现 232
12.5.1 Windows实现 232
12.5.2 迁移移植分析 233
12.5.3 Linux对应实现 234
参考文献 240