Location:
Search - 469
Search list
Description: Encodes video and audio
Platform: |
Size: 1752072 |
Author: 黊斝 |
Hits:
Description: msp430+469的C程序-Controller 469 C procedures
Platform: |
Size: 2884 |
Author: sss |
Hits:
Description: 目 录
译者序
前言
第一部分 预备知识
第1章 C++程序设计 1
1.1 引言 1
1.2 函数与参数 2
1.2.1 传值参数 2
1.2.2 模板函数 3
1.2.3 引用参数 3
1.2.4 常量引用参数 4
1.2.5 返回值 4
1.2.6 递归函数 5
1.3 动态存储分配 9
1.3.1 操作符new 9
1.3.2 一维数组 9
1.3.3 异常处理 10
1.3.4 操作符delete 10
1.3.5 二维数组 10
1.4 类 13
1.4.1 类Currency 13
1.4.2 使用不同的描述方法 18
1.4.3 操作符重载 20
1.4.4 引发异常 22
1.4.5 友元和保护类成员 23
1.4.6 增加#ifndef, #define和#endif语句 24
1.5 测试与调试 24
1.5.1 什么是测试 24
1.5.2 设计测试数据 26
1.5.3 调试 28
1.6 参考及推荐读物 29
第2章 程序性能 30
2.1 引言 30
2.2 空间复杂性 31
2.2.1 空间复杂性的组成 31
2.2.2 举例 35
2.3 时间复杂性 37
2.3.1 时间复杂性的组成 37
2.3.2 操作计数 37
2.3.3 执行步数 44
2.4 渐进符号(O、 健?、 o) 55
2.4.1 大写O符号 56
2.4.2 椒??58
2.4.3 符号 59
2.4.4 小写o符号 60
2.4.5 特性 60
2.4.6 复杂性分析举例 61
2.5 实际复杂性 66
2.6 性能测量 68
2.6.1 选择实例的大小 69
2.6.2 设计测试数据 69
2.6.3 进行实验 69
2.7 参考及推荐读物 74
第二部分 数据结构
第3章 数据描述 75
3.1 引言 75
3.2 线性表 76
3.3 公式化描述 77
3.3.1 基本概念 77
3.3.2 异常类NoMem 79
3.3.3 操作 79
3.3.4 评价 83
3.4 链表描述 86
3.4.1 类ChainNode 和Chain 86
3.4.2 操作 88
3.4.3 扩充类Chain 91
3.4.4 链表遍历器类 92
3.4.5 循环链表 93
3.4.6 与公式化描述方法的比较 94
3.4.7 双向链表 95
3.4.8 小结 96
3.5 间接寻址 99
3.5.1 基本概念 99
3.5.2 操作 100
3.6 模拟指针 102
3.6.1 SimSpace的操作 103
3.6.2 采用模拟指针的链表 106
3.7 描述方法的比较 110
3.8 应用 111
3.8.1 箱子排序 111
3.8.2 基数排序 116
3.8.3 等价类 117
3.8.4 凸包 122
3.9 参考及推荐读物 127
第4章 数组和矩阵 128
4.1 数组 128
4.1.1 抽象数据类型 128
4.1.2 C++数组 129
4.1.3 行主映射和列主映射 129
4.1.4 类Array1D 131
4.1.5 类Array2D 133
4.2 矩阵 137
4.2.1 定义和操作 137
4.2.2 类Matrix 138
4.3 特殊矩阵 141
4.3.1 定义和应用 141
4.3.2 对角矩阵 143
4.3.3 三对角矩阵 144
4.3.4 三角矩阵 145
4.3.5 对称矩阵 146
4.4 稀疏矩阵 149
4.4.1 基本概念 149
4.4.2 数组描述 149
4.4.3 链表描述 154
第5章 堆栈 161
5.1 抽象数据类型 161
5.2 派生类和继承 162
5.3 公式化描述 163
5.3.1 Stack的效率 164
5.3.2 自定义Stack 164
5.4 链表描述 166
5.5 应用 169
5.5.1 括号匹配 169
5.5.2 汉诺塔 170
5.5.3 火车车厢重排 172
5.5.4 开关盒布线 176
5.5.5 离线等价类问题 178
5.5.6 迷宫老鼠 180
5.6 参考及推荐读物 188
第6章 队列 189
6.1 抽象数据类型 189
6.2 公式化描述 190
6.3 链表描述 194
6.4 应用 197
6.4.1 火车车厢重排 197
6.4.2 电路布线 201
6.4.3 识别图元 204
6.4.4 工厂仿真 206
6.5 参考及推荐读物 217
第7章 跳表和散列 218
7.1 字典 218
7.2 线性表描述 219
7.3 跳表描述 222
7.3.1 理想情况 222
7.3.2 插入和删除 223
7.3.3 级的分配 224
7.3.4 类SkipNode 224
7.3.5 类SkipList 225
7.3.6 复杂性 229
7.4 散列表描述 229
7.4.1 理想散列 229
7.4.2 线性开型寻址散列 230
7.4.3 链表散列 234
7.5 应用——文本压缩 238
7.5.1 LZW压缩 239
7.5.2 LZW压缩的实现 239
7.5.3 LZW解压缩 243
7.5.4 LZW解压缩的实现 243
7.6 参考及推荐读物 247
第8章 二叉树和其他树 248
8.1 树 248
8.2 二叉树 251
8.3 二叉树的特性 252
8.4 二叉树描述 253
8.4.1 公式化描述 253
8.4.2 链表描述 254
8.5 二叉树常用操作 256
8.6 二叉树遍历 256
8.7 抽象数据类型BinaryTree 259
8.8 类BinaryTree 260
8.9 抽象数据类型及类的扩充 263
8.9.1 输出 263
8.9.2 删除 264
8.9.3 计算高度 264
8.9.4 统计节点数 265
8.10 应用 265
8.10.1 设置信号放大器 265
8.10.2 在线等价类 268
8.11 参考及推荐读物 275
第9章 优先队列 276
9.1 引言 276
9.2 线性表 277
9.3 堆 278
9.3.1 定义 278
9.3.2 最大堆的插入 279
9.3.3 最大堆的删除 279
9.3.4 最大堆的初始化 280
9.3.5 类MaxHeap 281
9.4 左高树 285
9.4.1 高度与宽度优先的最大及最小
左高树 285
9.4.2 最大HBLT的插入 287
9.4.3 最大HBLT的删除 287
9.4.4 合并两棵最大HBLT 287
9.4.5 初始化最大HBLT 289
9.4.6 类MaxHBLT 289
9.5 应用 293
9.5.1 堆排序 293
9.5.2 机器调度 294
9.5.3 霍夫曼编码 297
9.6 参考及推荐读物 302
第10章 竞??303
10.1 引言 303
10.2 抽象数据类型WinnerTree 306
10.3 类WinnerTree 307
10.3.1 定义 307
10.3.2 类定义 307
10.3.3 构造函数、析构函数及Winner
函数 308
10.3.4 初始化赢者树 308
10.3.5 重新组织比赛 310
10.4 输者树 311
10.5 应用 312
10.5.1 用最先匹配法求解箱子装载
问题 312
10.5.2 用相邻匹配法求解箱子装载
问题 316
第11章 搜索树 319
11.1 二叉搜索树 320
11.1.1 基本概念 320
11.1.2 抽象数据类型BSTree和
IndexedBSTree 321
11.1.3 类BSTree 322
11.1.4 搜索 322
11.1.5 插入 323
11.1.6 删除 324
11.1.7 类DBSTree 326
11.1.8 二叉搜索树的高度 327
11.2 AVL树 328
11.2.1 基本概念 328
11.2.2 AVL树的高度 328
11.2.3 AVL树的描述 329
11.2.4 AVL搜索树的搜索 329
11.2.5 AVL搜索树的插入 329
11.2.6 AVL搜索树的删除 332
11.3 红-黑树 334
11.3.1 基本概念 334
11.3.2 红-黑树的描述 336
11.3.3 红-黑树的搜索 336
11.3.4 红-黑树的插入 336
11.3.5 红-黑树的删除 339
11.3.6 实现细节的考虑及复杂性分析 343
11.4 B-树 344
11.4.1 索引顺序访问方法 344
11.4.2 m 叉搜索树 345
11.4.3 m 序B-树 346
11.4.4 B-树的高度 347
11.4.5 B-树的搜索 348
11.4.6 B-树的插入 348
11.4.7 B-树的删除 350
11.4.8 节点结构 353
11.5 应用 354
11.5.1 直方图 354
11.5.2 用最优匹配法求解箱子装载
问题 357
11.5.3 交叉分布 359
11.6 参考及推荐读物 363
第12章 图 365
12.1 基本概念 365
12.2 应用 366
12.3 特性 368
12.4 抽象数据类型Graph和Digraph 370
12.5 无向图和有向图的描述 371
12.5.1 邻接矩阵 371
12.5.2 邻接压缩表 373
12.5.3 邻接链表 374
12.6 网络描述 375
12.7 类定义 376
12.7.1 不同的类 376
12.7.2 邻接矩阵类 377
12.7.3 扩充Chain类 380
12.7.4 类LinkedBase 381
12.7.5 链接类 382
12.8 图的遍历 386
12.8.1 基本概念 386
12.8.2 邻接矩阵的遍历函数 387
12.8.3 邻接链表的遍历函数 388
12.9 语言特性 389
12.9.1 虚函数和多态性 389
12.9.2 纯虚函数和抽象类 391
12.9.3 虚基类 391
12.9.4 抽象类和抽象数据类型 393
12.10 图的搜索算法 394
12.10.1 宽度优先搜索 394
12.10.2 类Network 395
12.10.3 BFS的实现 395
12.10.4 BFS的复杂性分析 396
12.10.5 深度优先搜索 397
12.11 应用 399
12.11.1 寻找路径 399
12.11.2 连通图及其构件 400
12.11.3 生成树 402
第三部分 算法设计方法
第13章 贪婪算法 405
13.1 最优化问题 405
13.2 算法思想 406
13.3 应用 409
13.3.1 货箱装船 409
13.3.2 0/1背包问题 410
13.3.3 拓扑排序 412
13.3.4 二分覆盖 415
13.3.5 单源最短路径 421
13.3.6 最小耗费生成树 424
13.4 参考及推荐读物 433
第14章 分而治之算法 434
14.1 算法思想 434
14.2 应用 440
14.2.1 残缺棋盘 440
14.2.2 归并排序 443
14.2.3 快速排序 447
14.2.4 选择 452
14.2.5 距离最近的点对 454
14.3 解递归方程 462
14.4 复杂性的下限 463
14.4.1 最小最大问题的下限 464
14.4.2 排序算法的下限 465
第15章 动态规划 467
15.1 算法思想 467
15.2 应用 469
15.2.1 0/1背包问题 469
15.2.2 图像压缩 471
15.2.3 矩阵乘法链 476
15.2.4 最短路径 480
15.2.5 网络的无交叉子集 483
15.2.6 元件折叠 486
15.3 参考及推荐读物 491
第16章 回溯 492
16.1 算法思想 492
16.2 应用 496
16.2.1 货箱装船 496
16.2.2 0/1背包问题 503
16.2.3 最大完备子图 506
16.2.4 旅行商问题 508
16.2.5 电路板排列 510
第17章 分枝定界 516
17.1 算法思想 516
17.2 应用 519
17.2.1 货箱装船 519
17.2.2 0/1背包问题 526
17.2.3 最大完备子图 528
17.2.4 旅行商问题 529
17.2.5 电路板排列 532
Platform: |
Size: 5125525 |
Author: gufeng20081010 |
Hits:
Description: 第 1 章 安装和配置SQL Server 1
1.1 SQL Server的版本和版本选择 1
1.2 安装SQL Server的常见问题 3
1.3 如何理解实例 5
1.4 如何实现无值守安装 5
1.5 Desktop Engine 9
1.5.1 MSDE 2000概述 9
1.5.2 获取MSDE 2000 9
1.5.3 安装MSDE 2000 10
1.5.4 管理MSDE 2000 11
1.5.5 支持的并发用户数和数据库容量 12
1.6 SQL Server Service Pack 12
1.6.1 确定已安装SQL Server的版本 12
1.6.2 SQL Server Service Pack 4介绍 13
1.6.3 SQL Server Service Pack 4的内容 13
1.6.4 安装SQL Server Service Pack 4的常见问题 14
1.7 SQL Server服务 15
1.8 服务账户 15
1.9 影响SQL Server运行的设置 18
1.9.1 内存配置 18
1.9.2 数据存储 20
第 2 章 日期处理 23
2.1 日期类型概述 23
2.2 日期处理函数 25
2.2.1 日期增减函数 25
2.2.2 日期信息获取函数 26
2.2.3 日期差值计算函数 27
2.2.4 其他日期处理相关函数 27
2.3 日期选项设置 29
2.3.1 default language选项 30
2.3.2 SET DATEFIRST 31
2.3.3 SET DATEFORMAT 31
2.3.4 SET LANGUAGE 33
2.4 日期格式化与日期推算处理 34
2.4.1 日期格式化处理 34
2.4.2 日期推算处理 35
2.4.3 日期加减处理 38
2.5 日期处理实例 40
2.5.1 生日处理 40
2.5.2 生成日期列表 42
2.5.3 工作日处理 46
2.5.4 工作时间计算 49
2.6 日期处理疑难解答 51
2.6.1 日期处理中常犯的错误 51
2.6.2 常见的低效率日期处理方法 52
2.6.3 日期与数字 53
第 3 章 字符处理 55
3.1 字符类型概述 55
3.2 字符串分拆 56
3.2.1 循环截取法 57
3.2.2 动态Transact-SQL语句法 57
3.2.3 辅助表法 59
3.2.4 分拆数据到列 61
3.2.5 分拆数字数据 62
3.2.6 分拆短信数据 63
3.3 字符串合并 64
3.3.1 游标合并法 65
3.3.2 SELECT语句合并法 66
3.3.3 临时表合并法 68
3.3.4 固定行合并法 69
3.4 其他字符串处理要求 70
3.4.1 分段截取 70
3.4.2 分段更新 72
3.4.3 IP地址处理 72
3.5 字符串分拆与合并处理应用实例 74
3.5.1 字符串比较 74
3.5.2 字符串交集/并集 75
3.5.3 分拆字符串并统计 78
3.5.4 借用字符串实现无规律排序 82
3.5.5 列车车次查询 82
3.6 字符串在动态Transact-SQL语句中的应用 85
3.6.1 动态Transact-SQL语句概述 85
3.6.2 字符串在编号查询中的使用 87
3.6.3 动态参数存储过程 90
3.6.4 动态Transact-SQL语句中常见问题 92
3.7 text与ntext字段处理 96
3.7.1 text与ntext数据的存储 96
3.7.2 管理text与ntext数据 97
3.7.3 text与ntext字段的复制和合并 99
3.7.4 text与image字段转换 101
3.7.5 ntext字段的REPLACE处理 103
第 4 章 排序规则 107
4.1 字符存储编码与排序规则 107
4.1.1 字符数据的存储编码 107
4.1.2 UNICODE 108
4.1.3 排序规则 109
4.1.4 排序规则比较和排列规则 111
4.1.5 使用排序规则 112
4.1.6 如何选择字符字段类型 116
4.2 排序规则应用 117
4.2.1 拼音处理 117
4.2.2 全角与半角字符处理 120
第 5 章 编号处理 123
5.1 自动编号 123
5.1.1 IDENTITY 123
5.1.2 ROWGUIDCOL 129
5.2 手工编号 131
5.2.1 查表法 131
5.2.2 独立编号表法 135
5.2.3 随机编号 139
5.3 缺号与补号 143
5.3.1 检查缺号 143
5.3.2 补号处理 143
5.3.3 编号重排 146
5.4 编号查询 150
5.4.1 已用编号分布查询 150
5.4.2 缺号分布查询 151
5.4.3 生成已用编号和缺号分布字符串 152
5.4.4 缺勤天数统计 155
第 6 章 数据统计与汇总 159
6.1 基本查询 159
6.1.1 空(NULL)值对查询的影响 159
6.1.2 联接 161
6.1.3 UNION与UNION ALL 165
6.1.4 数据填充查询 167
6.1.5 上限与下限区间统计 169
6.1.6 随机记录查询 170
6.2 分级汇总 173
6.2.1 实现分级汇总处理 173
6.2.2 分级汇总结果的过滤 176
6.2.3 分级汇总结果显示格式处理 177
6.2.4 分级汇总结果的排序处理 179
6.3 交叉数据报表 181
6.3.1 实现原理 181
6.3.2 多列转置 184
6.3.3 动态列 185
6.3.4 动态列中的字符溢出处理 188
6.3.5 特殊的交叉报表 191
6.4 典型数据统计案例 193
6.4.1 库存明细账查询 193
6.4.2 同期及上期数据对比 197
6.4.3 动态分组统计 199
6.4.4 销售排行榜 200
第 7 章 分页处理 205
7.1 应用程序中的分页处理 205
7.2 数据库中的分页处理 207
7.2.1 使用TOP N实现分页 207
7.2.2 使用字符串 211
7.2.3 使用临时表 213
7.2.4 使用SQL Server的系统存储过程处理分页 216
7.3 特殊要求的分页处理 217
7.3.1 随机显示的分页处理 217
7.3.2 分类数据的分页处理 221
第 8 章 树形数据处理 223
8.1 单编号处理法 223
8.1.1 方法概述 223
8.1.2 逐级汇总 225
8.1.3 编码重排 226
8.1.4 调整编码规则 229
8.1.5 调整编码隶属关系 233
8.2 双编号处理法 238
8.2.1 方法概述 239
8.2.2 树形数据排序 240
8.2.3 查找子节点 244
8.2.4 查找父节点 245
8.2.5 编码校验 246
8.2.6 节点复制 249
8.2.7 节点删除 251
8.2.8 逐级汇总 253
8.3 树形数据的扩展形式 256
8.3.1 产品配件清单 256
8.3.2 公交车乘车线路查询 258
第 9 章 数据导入与导出 261
9.1 访问外部数据 261
9.1.1 链接服务器 261
9.1.2 OPENROWSET与OPENDATASOURCE 268
9.1.3 外部数据访问方法总结 270
9.2 文本文件的导入与导出 274
9.2.1 查询文本文件内容 274
9.2.2 BCP与BULK INSERT 277
9.3 导入与导出中的常见问题 285
9.3.1 访问外部数据的注意事项 285
9.3.2 使用BCP或者BULK INSERT时的注意事项 286
9.3.3 外部数据文件位置及文件访问权限问题 287
9.4 在客户端实现SQL Server数据导入与导出处理 288
9.4.1 在Access数据库中实现与SQL Server之间的数据交换 288
9.4.2 实现客户端其他OLE DB数据源与SQL Server之间的数据交换 289
9.4.3 在客户端实现SQL Server数据导入与导出处理的一些说明 289
9.5 在数据库中存取文件 290
9.5.1 SQL Server中的文件存取方法 290
9.5.2 程序中的文件存取处理方法 292
第 10 章 作业 295
10.1 作业概述 295
10.1.1 定义作业 295
10.1.2 使用系统存储过程定义作业的常用模板 300
10.2 作业的应用 303
10.2.1 定时启用(或者停用)数据库 303
10.2.2 执行耗时的存储过程 304
10.2.3 秒级作业 305
10.3 使用作业的疑难解答 309
第 11 章 数据备份与还原 315
11.1 数据库备份与还原方法介绍 315
11.1.1 完全备份与还原 315
11.1.2 差异备份与还原 317
11.1.3 日志备份与还原 319
11.1.4 数据文件或文件组备份与还原 320
11.1.5 备份设备 321
11.1.6 数据库恢复模型对数据库备份和还原的影响 322
11.2 制订数据库备份方案 326
11.2.1 备份方案制订原则 326
11.2.2 建立数据备份方案 327
11.3 数据库备份与还原的实践应用 332
11.3.1 系统数据库的备份与还原 332
11.3.2 数据库迁移 336
11.3.3 部分数据库还原 339
11.3.4 抢救损坏数据库中的数据 341
11.3.5 将数据还原到指定时间点 343
11.3.6 将数据还原到指定标记点 345
11.3.7 同步备用服务器 346
11.4 数据备份与还原疑难解答 349
11.4.1 数据备份与还原中的常见问题 349
11.4.2 使用媒体集备份时的常见问题 354
11.4.3 数据库还原中的孤立用户问题 356
11.4.4 查询备份文件中的信息 360
第 12 章 用户定义数据类型 361
12.1 用户定义数据类型概述 361
12.1.1 创建和删除用户定义数据类型 361
12.1.2 为用户定义的数据类型绑定规则 365
12.1.3 为用户定义的数据类型绑定默认值 370
12.2 修改用户定义数据类型 373
12.2.1 修改被表引用的用户定义数据类型 373
12.2.2 修改被存储过程引用的用户定义数据类型 379
第 13 章 数据库安全 383
13.1 SQL Server的存取构架 383
13.1.1 表格格式数据流(TDS) 383
13.1.2 Net-Library与网络协议 384
13.1.3 Net-Library加密 387
13.2 用户管理 388
13.2.1 身份验证模式 388
13.2.2 登录、用户、角色和组 390
13.2.3 管理用户 395
13.3 数据文件安全 403
13.4 SQL Server安全配置 405
13.4.1 安全配置建议 405
13.4.2 使用安全套接字层(SSL)加密 408
13.5 应用程序上的安全 417
13.5.1 防止SQL注入式攻击 417
13.5.2 限制应用程序访问 418
13.5.3 不安全的扩展存储过程 419
第 14 章 系统表应用实例 423
14.1 系统对象概述 423
14.1.1 每个数据库中都存在的系统表 424
14.1.2 仅在系统数据库中存在的系统表 424
14.1.3 系统表应用中三个重要的系统存储过程 426
14.2 系统表在对象信息检索中的应用 429
14.2.1 搜索指定的对象所处的数据库 429
14.2.2 获取存储过程参数定义 432
14.2.3 搜索指定字符在哪个表的哪个字段中 435
14.2.4 非UNICODE字段改为UNICODE字段的可行性查询 438
14.2.5 字段相关对象查询 439
14.2.6 生成数据库字典 443
14.3 系统对象在处理中的应用 444
14.3.1 批量处理数据库中的对象 444
14.3.2 将所有的char、varchar改为nchar、nvarchar 445
14.3.3 标识列与普通列的相互转换 447
14.3.4 把列添加指定位置 450
14.3.5 在两个SQL Server数据库之间复制对象 451
第 15 章 SQL Server应用疑难解答 455
15.1 访问SQL Server实例的常见问题 455
15.1.1 连接失败 455
15.1.2 用户登录失败 458
15.1.3 测试连接到SQL Server实例的方法总结 458
15.1.4 超时 459
15.1.5 单用户的问题 460
15.1.6 默认数据库问题 461
15.2 索引中的疑难解答 462
15.2.1 索引对查询条件的影响 462
15.2.2 索引对查询结果顺序的影响 465
15.2.3 索引对数据操作的影响 469
15.3 数据库日志疑难解答 470
15.3.1 影响日志文件增长的因素 471
15.3.2 从事务日志中删除日志记录 472
15.3.3 日志文件处理中的误区 472
15.3.4 合理解决日志文件增长 473
15.4 错误处理疑难解答 474
15.4.1 错误处理概述 474
15.4.2 错误处理严重程度 475
15.4.3 使用@@ERROR的疑难解答 476
15.4.4 XACT_ABORT与RAISERROR的疑难解答 477
15.5 游标处理疑难解答 479
15.5.1 全局游标与本地游标 479
15.5.2 检查指定的游标是否存在 480
15.5.3 事务提交或者回滚对游标的影响 482
15.5.4 可更新的游标 483
15.6 SQL Server处理中的其他疑难解答 484
15.6.1 并发工作负荷调控器 484
15.6.2 存储过程中的疑难解答 486
15.6.3 标识值疑难解答 488
15.6.4 全文检索疑难解答 491
15.6.5 发布与订阅中的常见问题 494
15.6.6 其他疑难解答 496
Platform: |
Size: 282206 |
Author: star_lgx@163.com |
Hits:
Description: 目 录 译者序 前言 第一部分 程序员必读 第1章 对程序错误的处理 1 1.1 定义自己的错误代码 4 1.2 ErrorShow示例应用程序 5 第2章 Unicode 11 2.1 字符集 11 2.1.1 单字节与双字节字符集 11 2.1.2 Unicode:宽字节字符集 12 2.2 为什么使用Unicode 13 2.3 Windows 2000与Unicode 13 2.4 Windows 98与Unicode 13 2.5 Windows CE与Unicode 14 2.6 需要注意的问题 14 2.7 对COM的简单说明 14 2.8 如何编写Unicode源代码 15 2.8.1 C运行期库对Unicode的支持 15 2.8.2 Windows定义的Unicode数据类型 17 2.8.3 Windows中的Unicode函数和ANSI 函数 17 2.8.4 Windows字符串函数 19 2.9 成为符合ANSI和Unicode的应用程序 19 2.9.1 Windows字符串函数 19 2.9.2 资源 22 2.9.3 确定文本是ANSI文本还是Unicode 文本 22 2.9.4 在Unicode与ANSI之间转换字符串 23 第3章 内核对象 27 3.1 什么是内核对象 27 3.1.1 内核对象的使用计数 27 3.1.2 安全性 28 3.2 进程的内核对象句柄表 30 3.2.1 创建内核对象 30 3.2.2 关闭内核对象 32 3.3 跨越进程边界共享内核对象 32 3.3.1 对象句柄的继承性 32 3.3.2 改变句柄的标志 35 3.3.3 命名对象 36 3.3.4 终端服务器的名字空间 39 3.3.5 复制对象句柄 39 第二部分 编程的具体方法 第4章 进程 45 4.1 编写第一个Windows应用程序 46 4.1.1 进程的实例句柄 49 4.1.2 进程的前一个实例句柄 50 4.1.3 进程的命令行 50 4.1.4 进程的环境变量 51 4.1.5 进程的亲缘性 54 4.1.6 进程的错误模式 54 4.1.7 进程的当前驱动器和目录 54 4.1.8 进程的当前目录 55 4.1.9 系统版本 56 4.2 CreateProcess函数 58 4.2.1 pszApplicationName和 pszCommandLine 59 4.2.2 psa Process、psa Thread和 binherit Handles 60 4.2.3 fdwCreate 62 4.2.4 pvEnvironment 64 4.2.5 pszCurDir 64 4.2.6 psiStartInfo 64 4.2.7 ppiProcInfo 67 4.3 终止进程的运行 69 4.3.1 主线程的进入点函数返回 69 4.3.2 ExitProcess函数 69 4.3.3 TerminateProcess函数 70 4.3.4 进程终止运行时出现的情况 71 4.4 子进程 72 4.5 枚举系统中运行的进程 73 第5章 作业 91 5.1 对作业进程的限制 93 5.2 将进程放入作业 99 5.3 终止作业中所有进程的运行 99 5.4 查询作业统计信息 100 5.5 作业通知信息 103 5.6 JobLab示例应用程序 104 第6章 线程的基础知识 121 6.1 何时创建线程 121 6.2 何时不能创建线程 122 6.3 编写第一个线程函数 123 6.4 CreateThread函数 124 6.4.1 psa 124 6.4.2 cbStack 124 6.4.3 pfnStartAddr和pvParam 125 6.4.4 fdwCreate 126 6.4.5 pdwThreadID 126 6.5 终止线程的运行 127 6.5.1 线程函数返回 127 6.5.2 ExitThread函数 127 6.5.3 TerminateThread函数 127 6.5.4 在进程终止运行时撤消线程 128 6.5.5 线程终止运行时发生的操作 128 6.6 线程的一些性质 129 6.7 C/C++运行期库的考虑 131 6.7.1 Oops—错误地调用了Create Thread 138 6.7.2 不应该调用的C/C++运行期库函数 138 6.8 对自己的ID概念应该有所了解 139 第7章 线程的调度、优先级和亲缘性 142 7.1 暂停和恢复线程的运行 143 7.2 暂停和恢复进程的运行 144 7.3 睡眠方式 145 7.4 转换到另一个线程 145 7.5 线程的运行时间 146 7.6 运用环境结构 148 7.7 线程的优先级 152 7.8 对优先级的抽象说明 153 7.9 程序的优先级 156 7.9.1 动态提高线程的优先级等级 158 7.9.2 为前台进程调整调度程序 159 7.9.3 Scheduling Lab示例应用程序 160 7.10 亲缘性 167 第8章 用户方式中线程的同步 172 8.1 原子访问:互锁的函数家族 172 8.2 高速缓存行 177 8.3 高级线程同步 178 8.4 关键代码段 180 8.4.1 关键代码段准确的描述 182 8.4.2 关键代码段与循环锁 185 8.4.3 关键代码段与错误处理 185 8.4.4 非常有用的提示和技巧 186 第9章 线程与内核对象的同步 190 9.1 等待函数 191 9.2 成功等待的副作用 194 9.3 事件内核对象 195 9.4 等待定时器内核对象 204 9.4.1 让等待定时器给APC项排队 207 9.4.2 定时器的松散特性 209 9.5 信标内核对象 210 9.6 互斥对象内核对象 211 9.6.1 释放问题 213 9.6.2 互斥对象与关键代码段的比较 214 9.6.3 Queue示例应用程序 214 9.7 线程同步对象速查表 223 9.8 其他的线程同步函数 224 9.8.1 异步设备I/O 224 9.8.2 WaitForInputIdle 224 9.8.3 MsgWaitForMultipleObjects (Ex) 225 9.8.4 WaitForDebugEvent 225 9.8.5 SingleObjectAndWait 226 第10章 线程同步工具包 228 10.1 实现关键代码段:Optex 228 10.2 创建线程安全的数据类型和反信标 239 10.3 单个写入程序/多个阅读程序的保护 251 10.4 实现一个WaitForMultipleExpressions 函数 259 第11章 线程池的使用 274 11.1 方案1:异步调用函数 275 11.2 方案2:按规定的时间间隔调用函数 277 11.3 方案3:当单个内核对象变为已通知状态 时调用函数 283 11.4 方案4:当异步I/O请求完成运行时调用 函数 285 第12章 纤程 287 12.1 纤程的操作 287 12.2 Counter示例应用程序 289 第三部分 内 存 管 理 第13章 Windows的内存结构 299 13.1 进程的虚拟地址空间 299 13.2 虚拟地址空间如何分区 300 13.2.1 NuLL 指针分配的分区—适用于 Windows 2000和Windows 98 300 13.2.2 MS-DOS/16位Windows 应用程序兼容 分区—仅适用于Windows 98 301 13.2.3 用户方式分区—适用于Windows 2000 和Windows 98 301 13.2.4 64 KB禁止进入的分区—仅适用 于Windows 2000 302 13.2.5 共享的MMF分区—仅适用于 Windows 98 303 13.2.6 内核方式分区—适用于Windows 2000和Windows 98 303 13.3 地址空间中的区域 303 13.4 提交地址空间区域中的物理存储器 304 13.5 物理存储器与页文件 304 13.6 保护属性 307 13.6.1 Copy-On-Write 访问 308 13.6.2 特殊的访问保护属性的标志 309 13.7 综合使用所有的元素 309 13.7.1 区域的内部情况 312 13.7.2 与Windows 98地址空间的差别 315 13.8 数据对齐的重要性 319 第14章 虚拟内存 323 14.1 系统信息 323 14.2 虚拟内存的状态 330 14.3 确定地址空间的状态 336 14.3.1 VMQuery函数 337 14.3.2 虚拟内存表示例应用程序 343 第15章 在应用程序中使用虚拟内存 354 15.1 在地址空间中保留一个区域 354 15.2 在保留区域中的提交存储器 355 15.3 同时进行区域的保留和内存的提交 356 15.4 何时提交物理存储器 357 15.5 回收虚拟内存和释放地址空间区域 358 15.5.1 何时回收物理存储器 359 15.5.2 虚拟内存分配的示例应用程序 360 15.6 改变保护属性 368 15.7 清除物理存储器的内容 369 15.8 地址窗口扩展—适用于 Windows 2000 372 第16章 线程的堆栈 385 16.1 Windows 98下的线程堆栈 387 16.2 C/C++运行期库的堆栈检查函数 389 16.3 Summation示例应用程序 390 第17章 内存映射文件 397 17.1 内存映射的可执行文件和DLL 文件 397 17.1.1 可执行文件或DLL的多个实例 不能共享静态数据 398 17.1.2 在可执行文件或DLL的多个实 例之间共享静态数据 400 17.1.3 AppInst示例应用程序 404 17.2 内存映射数据文件 409 17.2.1 方法 1:一个文件,一个缓存 409 17.2.2 方法 2:两个文件,一个缓存 409 17.2.3 方法 3:一个文件,两个缓存 410 17.2.4 方法 4:一个文件,零缓存 410 17.3 使用内存映射文件 410 17.3.1 步骤 1:创建或打开文件内核 对象 411 17.3.2 步骤 2:创建一个文件映射内核 对象 412 17.3.3 步骤 3:将文件数据映射到进程 的地址空间 414 17.3.4 步骤4:从进程的地址空间中撤消 文件数据的映像 416 17.3.5 步骤 5和步骤 6:关闭文件映射对象 和文件对象 417 17.3.6 文件倒序示例应用程序 418 17.4 使用内存映射文件来处理大文件 426 17.5 内存映射文件与数据视图的相关性 427 17.6 设定内存映射文件的基地址 428 17.7 实现内存映射文件的具体方法 429 17.8 使用内存映射文件在进程之间共享 数据 431 17.9 页文件支持的内存映射文件 431 17.10 稀疏提交的内存映射文件 438 第18章 堆栈 451 18.1 进程的默认堆栈 451 18.2 为什么要创建辅助堆栈 452 18.2.1 保护组件 452 18.2.2 更有效的内存管理 453 18.2.3 进行本地访问 453 18.2.4 减少线程同步的开销 453 18.2.5 迅速释放堆栈 453 18.3 如何创建辅助堆栈 454 18.3.1 从堆栈中分配内存块 455 18.3.2 改变内存块的大小 456 18.3.3 了解内存块的大小 456 18.3.4 释放内存块 457 18.3.5 撤消堆栈 457 18.3.6 用C++程序来使用堆栈 457 18.4 其他堆栈函数 460 第四部分 动态链接库 第19章 DLL基础 463 19.1 DLL与进程的地址空间 464 19.2 DLL的总体运行情况 465 19.3 创建DLL模块 467 19.3.1 输出的真正含义是什么 469 19.3.2 创建用于非Visual C++工具 的DLL 471 19.4 创建可执行模块 472 19.5 运行可执行模块 474 第20章 DLL的高级操作技术 477 20.1 DLL模块的显式加载和 符号链接 477 20.1.1 显式加载DLL模块 478 20.1.2 显式卸载DLL模块 479 20.1.3 显式链接到一个输出符号 480 20.2 DLL的进入点函数 481 20.2.1 DLL_PROCESS_ATTACH通知 482 20.2.2 DLL_PROCESS_DETACH通知 483 20.2.3 DLL_THREAD_ATTACH通知 485 20.2.4 DLL_THREAD_DETACH通知 485 20.2.5 顺序调用DllMain 486 20.2.6 DllMain与C/C++运行期库 488 20.3 延迟加载DLL 489 20.4 函数转发器 499 20.5 已知的DLL 499 20.6 DLL转移 500 20.7 改变模块的位置 501 20.8 绑定模块 506 第21章 线程本地存储器 509 21.1 动态TLS 509 21.2 静态TLS 513 第22章 插入DLL和挂接API 515 22.1 插入DLL:一个例子 515 22.2 使用注册表来插入DLL 517 22.3 使用Windows挂钩来插入DLL 518 22.4 使用远程线程来插入DLL 531 22.4.1 Inject Library 示例应用程序 534 22.4.2 Image Walk DLL 541 22.5 使用特洛伊DLL来插入DLL 544 22.6 将DLL作为调试程序来插入 544 22.7 用Windows 98上的内存映射文件 插入代码 544 22.8 用CreateProcess插入代码 544 22.9 挂接API的一个示例 545 22.9.1 通过改写代码来挂接API 546 22.9.2 通过操作模块的输入节来挂接API 546 22.9.3 LastMsgBoxInfo示例应用程序 549 第五部分 结构化异常处理 第23章 结束处理程序 565 23.1 通过例子理解结束处理程序 566 23.2 Funcenstein1 566 23.3 Funcenstein2 566 23.4 Funcenstein3 568 23.5 Funcfurter1 568 23.6 突击测验:FuncaDoodleDoo 569 23.7 Funcenstein4 570 23.8 Funcarama1 571 23.9 Funcarama2 572 23.10 Funcarama3 572 23.11 Funcarama4:最终的边界 573 23.12 关于finally块的说明 574 23.13 Funcfurter2 575 23.14 SEH结束处理示例程序 576 第24章 异常处理程序和软件异常 578 24.1 通过例子理解异常过滤器和异常处理 程序 578 24.1.1 Funcmeister1 578 24.1.2 Funcmeister2 579 24.2 EXCEPTION_EXECUTE_HANDLER 580 24.2.1 一些有用的例子 581 24.2.2 全局展开 583 24.2.3 暂停全局展开 585 24.3 EXCEPTION_CONTINUE_ EXECUTION 586 24.4 EXCEPTION_CONTINUE_ SEARCH 588 24.5 Get Exception Code 589 24.6 Get Exception Information 592 24.7 软件异常 595 第25章 未处理异常和C++异常 598 25.1 即时调试 600 25.2 关闭异常消息框 601 25.2.1 强制进程终止运行 601 25.2.2 包装一个线程函数 601 25.2.3 包装所有的线程函数 601 25.2.4 自动调用调试程序 602 25.3 程序员自己调用UnhandledException Filter 602 25.4 UnhandledExceptionFilter函数的一些 细节 603 25.5 异常与调试程序 604 25.6 C++异常与结构性异常的对比 618 第六部分 窗 口 第26章 窗口消息 623 26.1 线程的消息队列 623 26.2 将消息发送到线程的消息队列中 625 26.3 向窗口发送消息 626 26.4 唤醒一个线程 630 26.4.1 队列状态标志 630 26.4.2 从线程的队列中提取消息的 算法 631 26.4.3 利用内核对象或队列状态标 志唤醒线程 634 26.5 通过消息发送数据 636 26.6 Windows如何处理ANSI/Unicode 字符和字符串 642 第27章 硬件输入模型和局部输入状态 645 27.1 原始输入线程 645 27.2 局部输入状态 646 27.2.1 键盘输入与焦点 647 27.2.2 鼠标光标管理 649 27.3 将虚拟输入队列同局部输入状态挂接 在一起 651 27.3.1 LISLab 示例程序 652 27.3.2 LISWatch 示例程序 666 第七部分 附 录 附录A 建立环境 675 附录B 消息分流器、子控件宏和API宏 686
Platform: |
Size: 36814984 |
Author: mrf341@163.com |
Hits:
Description: Encodes video and audio
Platform: |
Size: 1752064 |
Author: 黊斝 |
Hits:
Description: msp430+469的C程序-Controller 469 C procedures
Platform: |
Size: 3072 |
Author: sss |
Hits:
Description: 程序如果发现不知道密码请在数据库里找.
如果遇到MD5加密文件,而又不知道的密码的,
请在数据库中换上这组加密的数据吧
MD5_16加密的请换成 469e80d32c0559f8
如果是MD5_32加密的换成 7fef6171469e80d32c0559f88b377245
那么密码就是admin-If it is found that the procedures do not know the password in the database to find. If they are MD5 encrypted file, not knowing the password, please put in the database this group of encrypted data it encrypted MD5_16 Please 469e80d32c0559f8 replaced if it is encrypted MD5_32 7fef6171469e80d32c0559f88b377245 then replaced with the admin password is
Platform: |
Size: 68608 |
Author: 李鹏 |
Hits:
Description: 本人前年写的东西
连续插入节点性能
起始数 插入节点数 IE耗时(秒) FF耗时(秒)
11,111 1000 2.469 0.344
12,111 1000 2.891 0.406
13,111 1000 3.484 0.469
14,111 1000 3.984 0.921
15,111 1000 4.468 0.562
当前总结点数16,111
将从第二层开始的全部收起,性能大有提升
起始数 插入节点数 IE耗时(秒) FF耗时(秒)
16,111 1000 2.375 0.219
17,111 1000 2.5 0.25
插入节点时,性能实际上是很好的,只是因为插入节点后要重新计算所有展开的节点,
这是一个相当耖时的工作,如果改进算法,将展开的节点数控制在1000以内,那么不管是插入或是删除,
性能都会大有提升,这样即使是在IE下生成10W节点都是可能的,当然在 FF下100万节点也许都可能
在这个测试中,FF表现很好,性能差不多达到了IE的10倍-Insert a row node performance
Starting IE several time-consuming to insert nodes (sec) FF time (seconds)
11,111 1,000 2.469 0.344
12,111 1,000 2.891 0.406
13,111 1,000 3.484 0.469
14,111 1,000 3.984 0.921
15,111 1,000 4.468 0.562
Summing up the current 16,111 points
From the beginning of the second level all away, go a long way to enhance performance
Starting IE several time-consuming to insert nodes (sec) FF time (seconds)
16,111 1,000 2.375 0.219
17,111 1,000 2.5 0.25
Insert node, the performance is actually very good, but because of the node to insert after the start to a recalculation of all the nodes,
This is a working center, if the improved algorithm, the number of nodes to be launched in 1000 within the control, then either insert or delete,
Will greatly enhance performance, so even if IE is the next generation of 10W in the node are possible, of course, in the FF may be the next one million nodes can be
In this test, FF good performance, the performa
Platform: |
Size: 44032 |
Author: chpn |
Hits:
Description: SmartUI界面引擎 简洁图表绘制 有问题可以联系469373256或者加我的群 365397502-SmartUI interface is simple graphing engine have questions you can contact 469 373 256 or 365 397 502 to add my group
Platform: |
Size: 231424 |
Author: 撒打算将 |
Hits:
Description: C与指针高清版很好的资料,C和指针(第二版)高清全版469页-C pointer HD good information
C and pointer (Second Edition) HD Full version 469
Platform: |
Size: 28588032 |
Author: 营业员 |
Hits:
Description: C和指针第二版,高清 469页
C语言基础和指针的运用-C and pointer the second edition, high-definition 469 using the C programming language and pointers
Platform: |
Size: 29169664 |
Author: jesson |
Hits: