Welcome![Sign In][Sign Up]
Location:
Search - 148

Search list

[Embeded-SCM Develop 148个verilog hdl小程序(有很多testbench)——.rar

Description:
Platform: | Size: 55801 | Author: | Hits:

[ELanguage编译原理及实践

Description:

目      录
译者序
前言
第1章   概论 1
1.1   为什么要用编译器 2
1.2   与编译器相关的程序 3
1.3   翻译步骤 5
1.4   编译器中的主要数据结构 8
1.5   编译器结构中的其他问题 10
1.6   自举与移植 12
1.7   TINY样本语言与编译器 14
1.7.1   TINY语言 15
1.7.2   TINY编译器 15
1.7.3   TM机 17
1.8   C-Minus:编译器项目的一种语言 18
练习 19
注意与参考 20
第2章   词法分析 21
2.1   扫描处理 21
2.2   正则表达式 23
2.2.1   正则表达式的定义 23
2.2.2   正则表达式的扩展 27
2.2.3   程序设计语言记号的正则表达式 29
2.3   有穷自动机 32
2.3.1   确定性有穷自动机的定义 32
2.3.2   先行、回溯和非确定性自动机 36
2.3.3   用代码实现有穷自动机 41
2.4   从正则表达式到DFA 45
2.4.1   从正则表达式到NFA 45
2.4.2   从NFA到DFA 48
2.4.3   利用子集构造模拟NFA 50
2.4.4   将DFA中的状态数最小化 51
2.5   TINY扫描程序的实现 52
2.5.1   为样本语言TINY实现一个扫描
程序 53
2.5.2   保留字与标识符 56
2.5.3   为标识符分配空间 57
2.6   利用Lex 自动生成扫描程序 57
2.6.1   正则表达式的Lex 约定 58
2.6.2   Lex输入文件的格式 59
2.6.3   使用Lex的TINY扫描程序 64
练习 65
编程练习 67
注意与参考 67
第3章   上下文无关文法及分析 69
3.1   分析过程 69
3.2   上下文无关文法 70
3.2.1   与正则表达式比较 70
3.2.2   上下文无关文法规则的说明 71
3.2.3   推导及由文法定义的语言 72
3.3   分析树与抽象语法树 77
3.3.1   分析树 77
3.3.2   抽象语法树 79
3.4   二义性 83
3.4.1   二义性文法 83
3.4.2   优先权和结合性 85
3.4.3   悬挂else问题 87
3.4.4   无关紧要的二义性 89
3.5   扩展的表示法:EBNF和语法图 89
3.5.1   EBNF表示法 89
3.5.2   语法图 91
3.6   上下文无关语言的形式特性 93
3.6.1   上下文无关语言的形式定义 93
3.6.2   文法规则和等式 94
3.6.3   乔姆斯基层次和作为上下文无关
规则的语法局限 95
3.7   TINY语言的语法 97
3.7.1   TINY的上下文无关文法 97
3.7.2   TINY编译器的语法树结构 98
练习 101
注意与参考 104
第4章   自顶向下的分析 105
4.1   使用递归下降分析算法进行自顶向下
的分析 105
4.1.1   递归下降分析的基本方法 105
4.1.2   重复和选择:使用EBNF 107
4.1.3   其他决定问题 112
4.2   LL(1)分析 113
4.2.1   LL(1)分析的基本方法 113
4.2.2   LL(1)分析与算法 114
4.2.3   消除左递归和提取左因子 117
4.2.4   在LL(1)分析中构造语法树 124
4.3   First集合和Follow集合 125
4.3.1   First 集合 125
4.3.2   Follow 集合 130
4.3.3   构造LL(1)分析表 134
4.3.4   再向前:LL(k)分析程序 135
4.4   TINY语言的递归下降分析程序 136
4.5   自顶向下分析程序中的错误校正 137
4.5.1   在递归下降分析程序中的错误
校正 138
4.5.2   在LL(1)分析程序中的错误校正 140
4.5.3   在TINY分析程序中的错误校正 141
练习 143
编程练习 146
注意与参考 148
第5章   自底向上的分析 150
5.1   自底向上分析概览 151
5.2   LR(0)项的有穷自动机与LR(0)分析 153
5.2.1   LR(0)项 153
5.2.2   项目的有穷自动机 154
5.2.3   LR(0)分析算法 157
5.3   SLR(1)分析 160
5.3.1   SLR(1)分析算法 160
5.3.2   用于分析冲突的消除二义性
规则 163
5.3.3   SLR(1)分析能力的局限性 164
5.3.4   SLR(k)文法 165
5.4   一般的LR(1)和LALR(1)分析 166
5.4.1   LR(1)项的有穷自动机 166
5.4.2   LR(1)分析算法 169
5.4.3   LALR(1)分析 171
5.5   Yacc:一个LALR(1)分析程序的
生成器 173
5.5.1   Yacc基础 173
5.5.2   Yacc选项 176
5.5.3   分析冲突与消除二义性的规则 180
5.5.4   描述Yacc分析程序的执行 183
5.5.5   Yacc中的任意值类型 184
5.5.6   Yacc中嵌入的动作 185
5.6   使用Yacc生成TINY分析程序 186
5.7   自底向上分析程序中的错误校正 188
5.7.1   自底向上分析中的错误检测 188
5.7.2   应急方式错误校正 188
5.7.3   Yacc中的错误校正 189
5.7.4   TINY中的错误校正 192
练习 192
编程练习 195
注意与参考 197
第6章   语义分析 198
6.1   属性和属性文法 199
6.1.1   属性文法 200
6.1.2   属性文法的简化和扩充 206
6.2   属性计算算法 207
6.2.1   相关图和赋值顺序 208
6.2.2   合成和继承属性 212
6.2.3   作为参数和返回值的属性 219
6.2.4   使用扩展数据结构存储属性值 221
6.2.5   语法分析时属性的计算 223
6.2.6   语法中属性计算的相关性 226
6.3   符号表 227
6.3.1   符号表的结构 228
6.3.2   说明 230
6.3.3   作用域规则和块结构 232
6.3.4   同层说明的相互作用 236
6.3.5   使用符号表的属性文法的一个
扩充例子 237
6.4   数据类型和类型检查 241
6.4.1   类型表达式和类型构造器 242
6.4.2   类型名、类型说明和递归类型 246
6.4.3   类型等价 248
6.4.4   类型推论和类型检查 253
6.4.5   类型检查的其他主题 255
6.5   TINY语言的语义分析 257
6.5.1   TINY的符号表 258
6.5.2   TINY语义分析程序 259
练习 260
编程练习 264
注意与参考 264
第7章   运行时环境 266
7.1   程序执行时的存储器组织 266
7.2   完全静态运行时环境 269
7.3   基于栈的运行时环境 271
7.3.1   没有局部过程的基于栈的环境 271
7.3.2  带有局部过程的基于栈的环境 281
7.3.3   带有过程参数的基于栈的环境 284
7.4   动态存储器 286
7.4.1   完全动态运行时环境 286
7.4.2   面向对象的语言中的动态存储器 287
7.4.3   堆管理 289
7.4.4   堆的自动管理 292
7.5   参数传递机制 292
7.5.1   值传递 293
7.5.2   引用传递 294
7.5.3   值结果传递 295
7.5.4   名字传递 295
7.6   TINY语言的运行时环境 296
练习 297
编程练习 303
注意与参考 304
第8章   代码生成 305
8.1   中间代码和用于代码生成的数据
结构 305
8.1.1   三地址码 306
8.1.2   用于实现三地址码的数据结构 308
8.1.3   P-代码 310
8.2   基本的代码生成技术 312
8.2.1   作为合成属性的中间代码或目标
代码 312
8.2.2   实际的代码生成 314
8.2.3   从中间代码生成目标代码 317
8.3   数据结构引用的代码生成 319
8.3.1   地址计算 319
8.3.2   数组引用 320
8.3.3   栈记录结构和指针引用 325
8.4   控制语句和逻辑表达式的代码生成 328
8.4.1   if 和while 语句的代码生成 328
8.4.2   标号的生成和回填 330
8.4.3   逻辑表达式的代码生成 330
8.4.4   if 和while 语句的代码生成过程
样例 331
8.5   过程和函数调用的代码生成 334
8.5.1   过程和函数的中间代码 334
8.5.2   函数定义和调用的代码生成过程 336
8.6   商用编译器中的代码生成:两个案
例研究 339
8.6.1   对于80×86的Borland 3.0版C编
译器 339
8.6.2   Sun SparcStation的Sun 2.0 C编
译器 343
8.7   TM:简单的目标机器 346
8.7.1   Tiny Machine的基本结构 347
8.7.2   TM模拟器 349
8.8   TINY语言的代码生成器 351
8.8.1   TINY代码生成器的TM接口 351
8.8.2   TINY代码生成器 352
8.8.3   用TINY编译器产生和使用TM
代码文件 354
8.8.4   TINY编译器生成的TM代码文
件示例 355
8.9   代码优化技术考察 357
8.9.1   代码优化的主要来源 358
8.9.2   优化分类 360
8.9.3   优化的数据结构和实现技术 362
8.10   TINY代码生成器的简单优化 366
8.10.1   将临时变量放入寄存器 366
8.10.2   在寄存器中保存变量 367
8.10.3   优化测试表达式 367
练习 368
编程练习 371
注意与参考 372
附录A   编译器设计方案 373
附录B   小型编译器列表 381
附录C   Tiny Machine模拟器列表 417


Platform: | Size: 7612048 | Author: wesong | Hits:

[Embeded-SCM Develop 148个verilog hdl小程序(有很多testbench)——

Description: 148个verilog hdl小程序(有很多testbench)——.-148 Verilog HDL small programs (many testbench) from Part
Platform: | Size: 56068 | Author: 地方 | Hits:

[Multimedia programMediaChest-148

Description: 100% Java: ID3 tag, Exif, JPEG, TIFF, MP3, MP4, lossless editor/viewer/player/organizer. All Internet protocols publishing. A separate Jpeg manipulation library. Full iPod support - smart playlist, artwork, video. RAW is about to add. -100% Java : ID3 tag, Exif, JPEG, TIFF, MP3, MP4, lossless editor / viewer / player / organizer. A 'll Internet protocols publishing. A separate J peg manipulation library. Full support iPod-s mart playlist, artwork, video. RAW is about to add.
Platform: | Size: 2178592 | Author: 戴奕 | Hits:

[Other resourcePHOTOSHOPjiqiao148

Description: PHTOSHOP 148个经典示例-PHTOSHOP 148 classic example.
Platform: | Size: 21629 | Author: xubinb | Hits:

[Windows DevelopC源代码实例

Description: 包含220个C语言的各种源程序:001 第一个C程序 002 运行多个源文件 003 求整数之积 004 比较实数大小 005 字符的输出 006 显示变量所占字节数 007 自增/自减运算 008 数列求和 009 乘法口诀表 010 猜数字游戏 011 模拟ATM(自动柜员机)界面 012 用一维数组统计学生成绩 013 用二维数组实现矩阵转置 014 求解二维数组的最大/最小元素 015 利用数组求前n个质数 016 编制万年历 017 对数组元素排序 018 任意进制数的转换 019 判断回文数 020 求数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比较整数大小 023 指向数组的指针 024 寻找指定元素的指针 025 寻找相同元素的指针 026 阿拉伯数字转换为罗马数字 027 字符替换 028 从键盘读入实数 029 字符行排版 030 字符排列 031 判断字符串是否回文 032 通讯录的输入输出 033 扑克牌的结构表示 034 用“结构”统计学生成绩 035 报数游戏 036 模拟社会关系 037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 040 文件的字数统计程序 041 学生成绩管理程序 第二部分 数据结构篇 042 插入排序 043 希尔排序 044 冒泡排序 045 快速排序 046 选择排序 047 堆排序 048 归并排序 049 基数排序 050 二叉搜索树操作 051 二项式系数递归 052 背包问题 053 顺序表插入和删除 054 链表操作(1) 055 链表操作(2) 056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 066 图的广度优先遍利 067 求解最优交通路径 068 八皇后问题 069 骑士巡游 070 用栈设置密码 071 魔王语言翻译 072 火车车厢重排 073 队列实例 074 K阶斐波那契序列 第三部分 数值计算与趣味数学篇 075 绘制余弦曲线和直线的迭加 076 计算高次方数的尾数 077 打鱼还是晒网 078 怎样存钱以获取最大利息 079 阿姆斯特朗数 080 亲密数 081 自守数 082 具有abcd=(ab+cd)2性质的数 083 验证歌德巴赫猜想 084 素数幻方 085 百钱百鸡问题 086 爱因斯坦的数学题 087 三色球问题 088 马克思手稿中的数学题 089 配对新郎和新娘 090 约瑟夫问题 091 邮票组合 092 分糖果 093 波瓦松的分酒趣题 094 求π的近似值 095 奇数平方的有趣性质 096 角谷猜想 097 四方定理 098 卡布列克常数 099 尼科彻斯定理 100 扑克牌自动发牌 101 常胜将军 102 搬山游戏 103 兔子产子(菲波那契数列) 104 数字移动 105 多项式乘法 106 产生随机数 107 堆栈四则运算 108 递归整数四则运算 109 复平面作图 110 绘制彩色抛物线 111 绘制正态分布曲线 112 求解非线性方程 113 实矩阵乘法运算 114 求解线性方程 115 n阶方阵求逆 116 复矩阵乘法 117 求定积分 118 求满足特异条件的数列 119 超长正整数的加法 第四部分 图形篇 120 绘制直线 121 绘制圆 122 绘制圆弧 123 绘制椭圆 124 设置背景色和前景色 125 设置线条类型 126 设置填充类型和填充颜色 127 图形文本的输出 128 金刚石图案 129 飘带图案 130 圆环图案 131 肾形图案 132 心脏形图案 133 渔网图案 134 沙丘图案 135 设置图形方式下的文本类型 136 绘制正多边形 137 正六边形螺旋图案 138 正方形螺旋拼块图案 139 图形法绘制圆 140 递归法绘制三角形图案 141 图形法绘制椭圆 142 抛物样条曲线 143 Mandelbrot分形图案 144 绘制布朗运动曲线 145 艺术清屏 146 矩形区域的颜色填充 147 VGA256色模式编程 148 绘制蓝天图案 149 屏幕检测程序 150 运动的小车动画 151 动态显示位图 152 利用图形页实现动画 153 图形时钟 154 音乐动画 第五部分 系统篇 155 读取DOS系统中的国家信息 156 修改环境变量 157 显示系统文件表 158 显示目录内容 159 读取磁盘文件 160 删除目录树 161 定义文本模式 162 设计立体窗口 163 彩色弹出菜单 164 读取CMOS信息 165 获取BIOS设备列表 166 锁住硬盘 167 备份/恢复硬盘分区表 168 设计口令程序 169 程序自我保护 第六部分 常见试题解答篇 170 水果拼盘 171 小孩吃梨 172 删除字符串中的特定字符 173 求解符号方程 174 计算标准差 175 求取符合特定要求的素数 176 统计符合特定条件的数 177 字符串倒置 178 部分排序 179 产品销售记录处理 180 特定要求的字符编码 181 求解三角方程 182 新完全平方数 183 三重回文数 184 奇数方差 185 统计选票 186 同时整除 187 字符左右排序 188 符号算式求解 189 数字移位 190 统计最高成绩 191 比较字符串长度 192 合并整数 193 矩阵逆置 194 删除指定的字符 195 括号匹配 196 字符串逆置 197 SIX/NINE问题 198 单词个数统计 199 方差运算 200 级数运算 201 输出素数 202 素数题 203 序列排序 204 整数各位数字排序 205 字符串字母移位 206 Fibonacc数列 第七部分 游戏篇 207 商人过河游戏 208 吃数游戏 209 解救人质游戏 210 打字训练游戏 211 双人竞走游戏 212 迷宫探险游戏 213 迷你撞球游戏 214 模拟扫雷游戏 215 推箱子游戏 216 五子棋游戏 第八部分 综合实例篇 217 综合CAD系统 218 功能强大的文本编辑器 219 图书管理系统 220 进销存管理系统
Platform: | Size: 3250828 | Author: 79446210 | Hits:

[Windows DevelopWL40987330 C语言算法集

Description:

目录


第一部分  基础篇
 
001  第一个C程序 
002  运行多个源文件 
003  求整数之积 
004  比较实数大小 
005  字符的输出 
006  显示变量所占字节数 
007  自增/自减运算 
008  数列求和 
009  乘法口诀表 
010  猜数字游戏 
011  模拟ATM(自动柜员机)界面 
012  用一维数组统计学生成绩 
013  用二维数组实现矩阵转置 
014  求解二维数组的最大/最小元素 
015  利用数组求前n个质数 
016  编制万年历 
017  对数组元素排序 
018  任意进制数的转换 
019  判断回文数 
020  求数组前n元素之和 
021  求解钢材切割的最佳订单 
022  通过指针比较整数大小 
023  指向数组的指针 
024  寻找指定元素的指针 
025  寻找相同元素的指针 
026  阿拉伯数字转换为罗马数字 
027  字符替换 
028  从键盘读入实数 
029  字符行排版 
030  字符排列 
031  判断字符串是否回文 
032  通讯录的输入输出 
033  扑克牌的结构表示
034  用“结构”统计学生成绩 
035  报数游戏 
036  模拟社会关系 
037  统计文件的字符数 
038  同时显示两个文件的内容 
039  简单的文本编辑器 
040  文件的字数统计程序 
041  学生成绩管理程序 
 
第二部分  数据结构篇
 
042  插入排序 
043  希尔排序 
044  冒泡排序 
045  快速排序 
046  选择排序 
047  堆排序 
048  归并排序 
049  基数排序 
050  二叉搜索树操作 
051  二项式系数递归 
052  背包问题 
053  顺序表插入和删除 
054  链表操作(1) 
055  链表操作(2) 
056  单链表就地逆置 
057  运动会分数统计 
058  双链表 
059  约瑟夫环 
060  记录个人资料 
061  二叉树遍利 
062  浮点数转换为字符串 
063  汉诺塔问题 
064  哈夫曼编码 
065  图的深度优先遍利 
066  图的广度优先遍利
067  求解最优交通路径 
068  八皇后问题
069  骑士巡游 
070  用栈设置密码 
071  魔王语言翻译 
072  火车车厢重排 
073  队列实例 
074  K阶斐波那契序列 
 
第三部分  数值计算与趣味数学篇
 
075  绘制余弦曲线和直线的迭加
076  计算高次方数的尾数 
077  打鱼还是晒网 
078  怎样存钱以获取最大利息 
079  阿姆斯特朗数 
080  亲密数 
081  自守数 
082  具有abcd=(ab+cd)2性质的数 
083  验证歌德巴赫猜想
084  素数幻方 
085  百钱百鸡问题 
086  爱因斯坦的数学题 
087  三色球问题
088  马克思手稿中的数学题 
089  配对新郎和新娘 
090  约瑟夫问题
091  邮票组合 
092  分糖果 
093  波瓦松的分酒趣题 
094  求π的近似值 
095  奇数平方的有趣性质
096  角谷猜想 
097  四方定理 
098  卡布列克常数 
099  尼科彻斯定理 
100  扑克牌自动发牌 
101  常胜将军 
102  搬山游戏
103  兔子产子(菲波那契数列) 
104  数字移动 
105  多项式乘法 
106  产生随机数 
107  堆栈四则运算 
108  递归整数四则运算 
109  复平面作图 
110  绘制彩色抛物线 
111  绘制正态分布曲线 
112  求解非线性方程 
113  实矩阵乘法运算
114  求解线性方程 
115  n阶方阵求逆 
116  复矩阵乘法 
117  求定积分 
118  求满足特异条件的数列 
119  超长正整数的加法 
 
第四部分  图形篇
 
120  绘制直线 
121  绘制圆 
122  绘制圆弧 
123  绘制椭圆
124  设置背景色和前景色
125  设置线条类型 
126  设置填充类型和填充颜色 
127  图形文本的输出 
128  金刚石图案
129  飘带图案 
130  圆环图案 
131  肾形图案 
132  心脏形图案 
133  渔网图案 
134  沙丘图案
135  设置图形方式下的文本类型 
136  绘制正多边形 
137  正六边形螺旋图案 
138  正方形螺旋拼块图案
139  图形法绘制圆 
140  递归法绘制三角形图案 
141  图形法绘制椭圆 
142  抛物样条曲线 
143  Mandelbrot分形图案
144  绘制布朗运动曲线 
145  艺术清屏 
146  矩形区域的颜色填充 
147  VGA256色模式编程 
148  绘制蓝天图案 
149  屏幕检测程序 
150  运动的小车动画 
151  动态显示位图 
152  利用图形页实现动画
153  图形时钟 
154  音乐动画 
 
第五部分  系统篇
 
155  读取DOS系统中的国家信息 
156  修改环境变量 
157  显示系统文件表 
158  显示目录内容 
159  读取磁盘文件 
160  删除目录树 
161  定义文本模式 
162  设计立体窗口 
163  彩色弹出菜单 
164  读取CMOS信息 
165  获取BIOS设备列表 
166  锁住硬盘 
167  备份/恢复硬盘分区表 
168  设计口令程序 
169  程序自我保护
 
第六部分  常见试题解答篇
 
170  水果拼盘 
171  小孩吃梨 
172  删除字符串中的特定字符 
173  求解符号方程 
174  计算标准差 
175  求取符合特定要求的素数 
176  统计符合特定条件的数 
177  字符串倒置 
178  部分排序 
179  产品销售记录处理 
180  特定要求的字符编码 
181  求解三角方程 
182  新完全平方数 
183  三重回文数 
184  奇数方差 
185  统计选票 
186  同时整除 
187  字符左右排序 
188  符号算式求解 
189  数字移位 
190  统计最高成绩 
191  比较字符串长度 
192  合并整数 
193  矩阵逆置
194  删除指定的字符
195  括号匹配 
196  字符串逆置 
197  SIX/NINE问题 
198  单词个数统计 
199  方差运算 
200  级数运算 
201  输出素数 
202  素数题 
203  序列排序 
204  整数各位数字排序 
205  字符串字母移位 
206  Fibonacc数列 
 
第七部分  游戏篇
 
207  商人过河游戏 
208  吃数游戏 
209  解救人质游戏 
210  打字训练游戏 
211  双人竞走游戏 
212  迷宫探险游戏 
213  迷你撞球游戏
214  模拟扫雷游戏 
215  推箱子游戏 
216  五子棋游戏 
 
第八部分  综合实例篇
 
217  综合CAD系统 
218  功能强大的文本编辑器
219  图书管理系统
220  进销存管理系统
 


Platform: | Size: 3245365 | Author: wl409873350 | Hits:

[Delphi/CppBuilderDelphi_程序设计基础教程

Description: 目 录 第 1 章 Delphi 集成开发环境 ..................... 1 2.2.4 指针类型................................... 30 2.2.5 过程与函数类型....................... 31 1.1 Delphi 主窗口 ........................................ 2 1.1.1 标题栏 ........................................ 2 1.1.2 菜单栏 ........................................ 2 1.1.3 工具栏 ........................................ 3 1.1.4 组件板 ........................................ 3 1.2 Delphi 窗体窗口..................................... 3 1.2.1 窗体窗口 .................................... 3 1.2.2 窗体文件 .................................... 4 1.3 代码编辑窗口 ........................................ 4 1.4 对象查看器窗口 .................................... 4 1.4.1 对象查看器窗口的组成............. 5 1.4.2 设置属性 .................................... 5 1.4.3 添加事件 .................................... 6 1.5 项目管理器 ............................................ 6 1.5.1 项目组成 .................................... 7 1.5.2 项目管理器 ................................ 9 1.5.3 项目管理 .................................. 10 1.5.4 项目编译和运行....................... 12 1.6 Delphi 程序设计过程........................... 14 1.7 实验 ...................................................... 17 习题 ............................................................... 19 2.2.6 可变类型................................... 31 2.3 常量和变量的定义............................... 32 2.3.1 常量........................................... 32 2.3.2 变量........................................... 32 2.4 运算符和表达式................................... 33 2.4.1 算术运算符............................... 34 2.4.2 逻辑运算符............................... 34 2.4.3 关系运算符............................... 34 2.4.4 位运算符................................... 35 2.4.5 指针运算符............................... 35 2.4.6 集合运算符............................... 35 2.5 语句 ...................................................... 36 2.5.1 简单语句................................... 36 2.5.2 条件语句................................... 36 2.5.3 循环语句................................... 38 2.6 过程与函数........................................... 40 2.6.1 过程和函数的声明................... 40 2.6.2 过程和函数的参数................... 40 2.6.3 过程和函数的调用................... 42 2.7 实验 ...................................................... 43 2.7.1 编写对象 Pascal 应用程序....... 43 第 2 章 Delphi 的编程语言........................ 21 2.7.2 函数和过程的编写和调用 ....... 44 2.1 保留字和标识符 .................................. 21 习题 ............................................................... 46 2.1.1 保留字和标准指令符............... 21 第 3 章 Delphi 窗体与组件........................ 47 2.1.2 标识符 ...................................... 22 2.1.3 注释 .......................................... 22 2.1.4 控制台程序中的屏幕输入 3.1 Delphi 窗体........................................... 47 3.1.1 窗体与窗口............................... 47 和输出 ...................................... 22 3.1.2 窗体属性................................... 47 3.1.3 窗体事件................................... 48 2.2 Object Pascal 的数据类型.................... 23 2.2.1 简单数据类型........................... 24 2.2.2 字符串类型 .............................. 28 2.2.3 结构类型 .................................. 29 3.2 设计窗体 .............................................. 48 3.2.1 新建窗体................................... 48 3.2.2 设置窗体属性........................... 49 3.2.3 添加组件 .................................. 49 3.2.4 编辑组件 .................................. 49 3.2.5 设置组件属性........................... 49 3.2.6 保存文件 .................................. 49 3.3 文本型组件 .......................................... 50 3.3.1 Label 组件 ................................ 50 3.3.2 Static Text 组件 ........................ 51 3.3.3 Tab 组件 ................................... 52 3.4 按钮型组件 .......................................... 52 3.4.1 Button 组件............................... 52 3.4.2 BitBtn 组件............................... 53 3.4.3 RadioButton 组件 ..................... 54 3.4.4 CheckBox 组件......................... 54 3.5 编辑型组件 .......................................... 54 3.5.1 Edit 组件................................... 54 3.5.2 MaskEdit 组件.......................... 56 3.5.3 Memo 组件 ............................... 57 3.5.4 RichEdit 组件 ........................... 58 3.6 列表框型组件 ...................................... 60 3.6.1 ListBox 组件............................. 60 3.6.2 CheckBox 组件......................... 62 3.6.3 ComboBox 组件 ....................... 62 3.7 滑块型组件 .......................................... 63 3.7.1 Scrollbar 组件........................... 63 3.7.2 TrackBar 组件 .......................... 64 3.8 容器型组件 .......................................... 64 3.8.1 GroupBox 组件......................... 64 3.8.2 Panel 组件................................. 65 3.8.3 ScrollBox 组件 ......................... 66 3.9 MDI 程序 ............................................. 66 3.9.1 MDI 窗体及其属性.................. 66 3.9.2 利用模板创建 MDI 应用 程序 .......................................... 67 3.10 实验 .................................................... 68 3.10.1 设计由按钮类组件实现 的功能窗体............................. 68 3.10.2 设计由列表类组件实现的 功能窗体 ................................ 70 3.10.3 按需求将各种组件灵活组合, 实现功能窗体......................... 73 习题 ............................................................... 74 第 4 章 菜单设计............................................ 76 4.1 菜单设计简介....................................... 76 4.1.1 菜单结构................................... 76 4.1.2 菜单命令项的作用................... 76 4.1.3 菜单设计器............................... 77 4.2 主菜单设计........................................... 77 4.2.1 打开主菜单设计器................... 78 4.2.2 添加菜单命令项....................... 78 4.2.3 菜单命令项分组....................... 79 4.2.4 菜单命令项热键....................... 79 4.2.5 调整菜单命令项....................... 79 4.2.6 创建级联菜单........................... 80 4.3 菜单命令响应....................................... 80 4.4 运行时设置菜单................................... 82 4.4.1 菜单命令灰显........................... 83 4.4.2 隐藏菜单命令........................... 83 4.4.3 改变菜单命令文本................... 84 4.4.4 菜单命令单选标记................... 84 4.4.5 菜单命令复选标记................... 84 4.5 创建动态菜单....................................... 85 4.6 图形菜单 .............................................. 88 4.7 快捷菜单设计....................................... 89 4.7.1 快捷菜单的设计....................... 89 4.7.2 快捷菜单的响应....................... 90 4.8 实验 ...................................................... 91 习题 ............................................................... 93 第 5 章 对话框、工具栏和状态栏设计 .... 95 5.1 对话框设计........................................... 95 5.1.1 文件对话框组件....................... 95 5.1.2 字体对话框组件....................... 97 5.1.3 颜色对话框组件....................... 98 5.1.4 打印、打印设置和页面设置 对话框组件............................... 98 5.1.5 查找和替换对话框组件........... 99 5.1.6 消息框和输入框..................... 100 5.1.7 对话框综合应用实例..............102 7.3.1 异常响应与 try…except 5.2 工具栏设计 .........................................107 语句......................................... 155 5.2.1 用面板构成工具栏..................107 7.3.2 异常保护与 try…finally 5.2.2 使用工具栏组件......................112 语句......................................... 157 5.2.3 使用 TCoolBar 组件................113 7.3.3 异常的重引发和处理嵌套 ..... 159 5.2.4 使用 TControlBar 组件 ...........115 7.3.4 定义自己的异常..................... 159 5.3 状态栏设计 .........................................115 7.3.5 利用异常响应编程................. 163 5.4 实验 .....................................................118 7.4 Delphi 调试器..................................... 165 习题 ..............................................................121 7.4.1 准备调试................................. 165 第 6 章 Delphi 多媒体应用.......................123 7.4.2 设置调试器的选项................. 165 7.5 控制程序的运行................................. 166 6.1 绘图组件 .............................................123 7.5.1 单步执行................................. 166 6.1.1 TShape 组件 ............................123 7.5.2 跟踪执行................................. 167 6.1.2 画布对象 .................................124 7.5.3 跳过一段代码......................... 168 6.1.3 TPaintBox 组件 .......................124 7.5.4 全速执行剩余的代码............. 168 6.1.4 TImage 组件 ............................124 7.5.5 返回到执行点......................... 168 6.2 图形列表组件 .....................................130 7.5.6 暂停运行................................. 168 6.2.1 TTreeView 组件 ......................130 7.5.7 重新开始运行......................... 168 6.2.2 TListView 组件 .......................131 7.5.8 命令行参数............................. 169 6.3 图形栅格组件 .....................................132 7.6 断点 .................................................... 169 6.3.1 TStringGrid 组件 .....................133 7.6.1 源代码断点............................. 169 6.3.2 TDrawGrid 组件......................134 7.6.2 机器指令断点......................... 170 6.3.3 TColorGrid 组件......................136 7.6.3 数据断点................................. 171 6.4 图形日历组件 .....................................136 7.6.4 模块断点................................. 171 6.4.1 TDateTimePicker 组件 ............137 7.6.5 指定遇到断点时的行为......... 171 6.4.2 TCalendar 组件........................137 7.6.6 断点列表窗口......................... 172 6.5 多媒体组件 .........................................137 7.6.7 删除断点................................. 173 6.5.1 TMediaPlayer 组件..................137 7.6.8 设置断点的属性..................... 173 6.5.2 多媒体播放器..........................138 7.6.9 禁止和允许断点..................... 173 6.5.3 Flash 播放器............................141 7.7 监视表达式的值................................. 174 6.6 实验 .....................................................144 7.7.1 观察窗口................................. 174 习题 ..............................................................148 7.7.2 计算和修改表达式的值......... 175 第 7 章 Delphi 异常处理与调试..............150 7.1 Delphi 异常处理..................................150 7.1.1 异常处理的意义......................150 7.1.2 错误类型 .................................151 7.2 Delphi 异常类 .....................................153 7.3 Delphi 异常处理机制..........................155 7.7.3 计算提示................................. 176 7.7.4 Inspector 窗口......................... 176 7.7.5 查看局部变量的值................. 177 7.8 实验 .................................................... 177 7.8.1 Delphi 异常处理机制 ............. 177 7.8.2 Delphi 调试............................. 178 习题 ............................................................. 180 第 8 章 数据库编程......................................183 8.1 数据库系统概述 .................................183 8.1.1 数据库管理系统......................183 8.1.2 关系数据库 .............................184 8.1.3 数据库应用程序......................184 8.1.4 Delphi 数据库的体系结构......184 8.2 BDE 组件 ............................................188 8.2.1 TTable 组件介绍 .....................189 8.2.2 TQuery 组件介绍 ....................199 8.3 ADO 组件............................................206 8.3.1 TADOConnection 组件 ...........208 8.3.2 TADOCommand 组件.............210 8.3.3 TADODataSet 组件.................212 8.3.4 TADOTable 组件 ....................213 8.4 数据控制组件简介 .............................214 8.4.1 TDBGrid 组件介绍 .................215 8.4.2 TDBNavigator 组件介绍.........217 8.4.3 TDBText 组件介绍 .................219 8.4.4 TDBEdit 组件介绍..................219 9.1.1 QuickReport 概述 .................. 244 9.1.2 TQuickRep 组件 .................... 245 9.1.3 TQRSubDetail 组件................ 247 9.1.4 TQRBand 组件 ....................... 248 9.1.5 TQRChildBand 组件............... 249 9.1.6 TQRGroup 组件...................... 250 9.1.7 TQRLabel 组件....................... 250 9.1.8 TQRDBText 组件................... 250 9.1.9 TQRExpr 组件........................ 250 9.1.10 TQRsysData 组件 ................. 251 9.1.11 TQRMemo 组件 ................... 252 9.1.12 TQRRichText 组件............... 252 9.1.13 TQRDBRichText 组件.......... 252 9.1.14 TQRShape 组件 .................... 252 9.1.15 TQRImage 组件.................... 252 9.1.16 TQRDBImage 组件 .............. 252 9.1.17 TQRComposite 组件............. 252 9.1.18 TQRPreview 组件................. 253 9.2 QuickReport 报表实例 ....................... 253 8.4.5 TDBMemo 组件介绍 ..............220 9.2.1 打印单数据库报表................. 253 8.4.6 TDBImage 组件介绍...............221 9.2.2 打印标签、信封..................... 256 8.4.7 TDBListBox 组件介绍............221 9.2.3 打印主/明细表........................ 258 8.4.8 TDBComboBox 组件介绍 ......221 9.2.4 打印分组与统计报表............. 260 8.4.9 TDBCheckBox 组件介绍........222 9.3 Rave 报表设计器的组件.................... 262 8.4.10 TDBRadioGroup 组件介绍 ...222 9.3.1 Rave 5 的报表设计界面......... 262 8.4.11 TDBLookupListBox 组件 介绍 .......................................223 8.4.12 TDBLookupComboBox 组件 介绍 .......................................223 9.3.2 Drawing(绘图)组件页 ............ 263 9.3.3 Bar Code(条形码)组件页 ....... 263 9.3.4 Standard(标准)组件页 ............ 263 9.3.5 Report(报表)组件页 ............... 263 8.4.13 TDBCtrlGrid 组件介绍 .........223 9.3.6 其他组件页............................. 264 8.4.14 TDBRichEdit 组件介绍.........224 8.4.15 TDBChart 组件介绍..............224 8.5 实验 .....................................................231 8.5.1 设计数据表结构......................231 8.5.2 设计数据表编辑窗体..............232 8.5.3 设计数据表查询窗体..............238 习题 ..............................................................242 9.4 Delphi 中的 Rave 组件....................... 265 9.4.1 RvProject 组件........................ 265 9.4.2 RvSystem 组件 ....................... 266 9.4.3 其他组件................................. 267 9.5 Rave 报表例程 ................................... 267 9.5.1 设计 Rave 报表....................... 267 9.5.2 调用 Rave 报表....................... 271 第 9 章 报表与图表......................................244 9.6 图表 .................................................... 271 9.1 QuickReport 组件................................244 9.6.1 DBChart 组件 ......................... 271 9.6.2 设计图表 .................................273 11.1.2 现有的组件........................... 309 9.7 实验 .....................................................274 11.1.3 组件模板............................... 310 习题 ..............................................................279 11.1.4 选择祖先类的建议............... 311 第 10 章 面向对象程序设计......................281 11.2 建立组件框架................................... 312 11.3 加入属性........................................... 314 10.1 面向对象程序设计概念....................281 11.3.1 加入简单型的属性............... 314 10.1.1 结构化程序设计方法............281 11.3.2 加入枚举型的属性............... 314 10.1.2 面向对象的设计方法............282 11.3.3 加入集合型的属性............... 315 10.2 类 .......................................................284 11.3.4 加入对象型的属性............... 315 10.2.1 类的定义 ...............................284 11.3.5 加入数组型的属性............... 316 10.2.2 保护方式 ...............................285 11.3.6 公开继承的属性................... 316 10.2.3 类的实例化............................286 11.3.7 给出属性的默认值............... 317 10.2.4 类操作符 ...............................286 11.4 加入方法........................................... 317 10.3 方法 ...................................................287 11.4.1 方法的可见性....................... 317 10.3.1 一般方法 ...............................287 11.4.2 避免内部相关性................... 318 10.3.2 构造方法 ...............................289 11.4.3 给方法命名........................... 318 10.3.3 析构方法 ...............................290 11.4.4 加入静态方法....................... 318 10.3.4 类方法 ...................................290 11.4.5 加入虚拟方法....................... 319 10.3.5 隐含参数 Self ........................291 11.4.6 加入动态方法....................... 319 10.4 继承和多态 .......................................292 11.4.7 加入消息处理方法............... 320 10.4.1 继承 .......................................292 11.5 加入事件........................................... 320 10.4.2 覆盖 .......................................293 11.6 安装组件........................................... 323 10.4.3 抽象类 ...................................294 11.7 实验 .................................................. 324 10.4.4 多态 .......................................295 习题 ............................................................. 327 10.4.5 共同祖先 TObject..................296 10.5 属性 ...................................................297 第 12 章 动态链接库(DLLs)编程............ 329 10.5.1 属性定义 ...............................297 12.1 动态链接库概述............................... 329 10.5.2 属性的访问方法....................298 12.1.1 Windows 系统的动态 10.6 消息 ...................................................299 链接库................................... 329 10.6.1 消息机制 ...............................299 12.1.2 为什么使用 DLL .................. 330 10.6.2 发送消息 ...............................300 12.1.3 DLL 与 EXE 文件之间 10.6.3 处理消息 ...............................301 的区别................................... 331 10.6.4 用户自定义消息....................303 12.1.4 DLL 编写规则 ...................... 331 10.7 实验 ...................................................305 12.2 在 Delphi 中编写 DLLs.................... 331 习题 ..............................................................307 12.2.1 编写一般 DLLs 的步骤........ 332 第 11 章 Delphi 自定义组件的开发.......308 12.2.2 动态链接库中的标准指示 ... 334 12.2.3 库初始化代码的编写........... 335 11.1 选择祖先类 .......................................308 12.2.4 从 DLL 中输出字符串 ......... 337 11.1.1 公共祖先类............................308 12.3 在 Delphi 中 DLLs 的调用............... 340 12.3.1 调用 DLL 方式......................340 12.3.2 静态调用 ...............................340 12.3.3 动态调用 ...............................342 12.4 利用 DLLs 实现窗体重用 ................345 12.4.1 利用 DLLs 实现窗体重用 的一般步骤............................346 12.4.2 使用 DLL 模态窗体..............346 12.4.3 DLL 中的非模态窗体...........346 12.5 DLL 与 Delphi 组件包......................351 12.6 实验 ...................................................352 习题 ..............................................................356 第 13章 多线程.............................................358 13.1 多线程概述 .......................................358 13.1.1 什么是多线程........................358 13.1.2 使用多线程的优缺点............358 13.1.3 编写多线程应用程序步骤....359 13.2 多线程编程 .......................................359 13.2.1 创建线程对象........................359 13.2.2 线程的同步............................361 13.2.3 设置线程的优先级................362 13.2.4 挂起和唤醒............................363 13.2.5 缓存线程对象........................363 13.2.6 线程终止 ...............................365 13.2.7 一个多线程排序程序............370 13.3 实验 ...................................................375 习题 ............................................................. 379 第 14 章 文件操作 ....................................... 381 14.1 文件操作命令................................... 381 14.1.1 文件的类型........................... 381 14.1.2 文件的定义........................... 381 14.1.3 文件管理命令....................... 382 14.1.4 文本文件命令....................... 382 14.1.5 输入输出命令....................... 383 14.2 文本文件........................................... 383 14.2.1 打开文本文件....................... 383 14.2.2 关闭文本文件....................... 384 14.2.3 写入文本文件....................... 384 14.2.4 读取文本文件....................... 385 14.3 非文本文件....................................... 386 14.3.1 类型文件............................... 386 14.3.2 无类型文件........................... 389 14.4 文件系统........................................... 390 14.4.1 文件系统组件....................... 390 14.4.2 文件控制单元....................... 393 14.5 实验 .................................................. 396 14.5.1 文件名操作........................... 396 14.5.2 文件读写操作....................... 399 习题 ............................................................. 401 参考文献................................................... 403
Platform: | Size: 3534536 | Author: chaoyan_ma@126.com | Hits:

[VC/MFC《Windows核心编程(第四版)》中文版.rar

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:

[Embeded-SCM Develop 148个verilog hdl小程序(有很多testbench)——

Description: 148个verilog hdl小程序(有很多testbench)——.-148 Verilog HDL small programs (many testbench) from Part
Platform: | Size: 55296 | Author: 地方 | Hits:

[Multimedia programMediaChest-148

Description: 100% Java: ID3 tag, Exif, JPEG, TIFF, MP3, MP4, lossless editor/viewer/player/organizer. All Internet protocols publishing. A separate Jpeg manipulation library. Full iPod support - smart playlist, artwork, video. RAW is about to add. -100% Java : ID3 tag, Exif, JPEG, TIFF, MP3, MP4, lossless editor/viewer/player/organizer. A 'll Internet protocols publishing. A separate J peg manipulation library. Full support iPod-s mart playlist, artwork, video. RAW is about to add.
Platform: | Size: 2178048 | Author: 戴奕 | Hits:

[OtherPHOTOSHOPjiqiao148

Description: PHTOSHOP 148个经典示例-PHTOSHOP 148 classic example.
Platform: | Size: 21504 | Author: xubinb | Hits:

[Other resourceprep_identify

Description: 摘要:本文运用规则和统计相结合的方法构造了一个汉语介词短语识别算法。首先,根据介词和介词短 语右边界组成的搭配模板自动提取可信搭配关系,并用这些搭配关系对介词短语进行识别。之后,用基于词 性的三元边界统计模型和规则相结合的方法识别其它未处理的介词短语。通过对含有7323 个介词短语的语 料作交叉测试,精确率达到87148 % ,召回率达到87127 %。-Abstract: In this paper the use of rules and statistical methods of combining the structure of a prepositional phrase recognition algorithm for Chinese. First, according to preposition and prepositional phrase consisting of the right sector with the credibility of the template with automatic extraction of relations and relations with those with a prepositional phrase identification. After the POS-based statistical model of the ternary borders and rules of combination of the prepositional phrase to identify the other untreated. The adoption of 7323 prepositional phrase containing the corpus for cross-testing, accurate rate of 87,148 percent, the recall rate of 87,127 percent.
Platform: | Size: 364544 | Author: wu | Hits:

[SNMPSNMP

Description: SNMP操作手册,目 录 一 SNMP协议概述 2 1 什么是SNMP协议 2 2 SNMP版本 3 3 SNMP的基本操作 4 4 网管站和代理 5 5 ASN.1和SMI 5 6 SNMP报文 7 6.1 SNMP的5种协议数据单元 7 7 管理变量的表示 11 8 SNMP的运行过程 11 8.1 GETREQUEST PDU 12 8.2 GETNEXTREQUEST PDU 12 8.3 GETRESPONSE PDU 14 8.4 SETREQUEST PDU 14 8.5 TRAP PDU 14 9 SNMP MIB编译器的功能 15 二 SNMP操作实例 17 1 说明 17 2 SNMPV1测试 17 3 SNMPV2测试 21 4 SNMPV3测试 26 4.1 基于“NOAUTHNOPRIV”的安全模式的SNMPV3测试 26 4.2 基于“AUTHNOPRIV”的安全模式的SNMPV3测试 32 4.3 基于“AUTHPRIV”的安全模式的SNMPV3测试 37-SNMP Operation Manual, directory SNMP protocol outlined in 21 1 What is the SNMP protocol 22 SNMP version of the basic operation 33 SNMP management stations and 44 agents 55 ASN.1 and SMI 56 SNMP Message 5 of 76.1 SNMP Protocol Data Unit 77 management variables 118 SNMP express running process 118.1 GETREQUEST PDU 128.2 GETNEXTREQUEST PDU 128.3 GETRESPONSE PDU 148.4 SETREQUEST PDU 148.5 TRAP PDU 149 SNMP MIB compiler for SNMP operation features 15 two examples of 171 test 172 SNMPV1 note 173 SNMPV2 test 264.1 based on 214 SNMPV3 test
Platform: | Size: 1087488 | Author: 韩电 | Hits:

[SCMczc

Description: (1) 不同情况具有不同的收费标准。 l 白天 l 晚上 l 途中等待(>10min 开始收费) (2) 能进行手动修改单价 (3) 具有数据的复位功能 (4) IO 口分配的简易要求 l 距离检测使用霍尔开关A44E l 白天/晚上收费标准的转换开关 l 数据的清零开关 l 单价的调整(最好使用“ +” 和“ -” 按键) (5) 数据输出(采用LCM103) l 单价输出2 位 l 路程输出2 位 l 总金额输出3 位 (6) 按键 l 启动计时开关 l 数据复位(清零) l 白天/晚上转换-(1) different situations have different criteria for the charges. charges at the change-over switch l data cleared switch l Price adjustments (preferably using the " " and "-" button) (5) data output (using LCM103) l Price output 2 l distance transmission
Platform: | Size: 4096 | Author: 阮江潮 | Hits:

[SCM148

Description: 基于51单片机的148-点阵模拟电梯上行下行源程序-Uplink and downlink source based on 51 single-chip 148- dot-matrix simulated lift
Platform: | Size: 17408 | Author: caixinyun | Hits:

[SCM148-decoding

Description: [分享]148译码,密码核对程序,带LED显示-Share] 148 decoding, password matching procedure with LED display
Platform: | Size: 48128 | Author: 高峰 | Hits:

[SCM148-password-

Description: 分享——这是另一版本的148密码核对程序-This is another version of the 148 password matching procedure
Platform: | Size: 17408 | Author: 高峰 | Hits:

[Other148-点阵模拟电梯上行下行

Description: 148-点阵模拟电梯上行下行(148- lattice simulation elevator uplink and downlink)
Platform: | Size: 17408 | Author: 1zf37fjn | Hits:

[Other带3WAN-192-148-1-1-2018-01-04.tar

Description: A_003_爱快编程器√ 带3WAN-192-148-1-1-2018-01-04.tar(A_003_ 3WAN192-148-1-1-2018-01-04.)
Platform: | Size: 8192 | Author: 大业98 | Hits:
« 12 3 4 »

CodeBus www.codebus.net