自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(0)
  • 资源 (62)
  • 收藏
  • 关注

空空如也

C++必知必会【可搜索+可编辑/复制/粘贴+无密码】

一、下载须知 .........................本书用于传播和交流思想 .........................无目录 .........................已经进行解密处理,大多数PDF会进行加密以至于无法编辑 .........................标清/高清(有颗粒感,但内容清晰) .........................可直接复制粘贴源码 .........................可搜索某一段内容 .........................本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 二、全部章节目录如下所示 目录 条款1 数据抽象,................... ,, ..........................、......., ..................................... 1 条款2 多态··········•• .. ···············........................................................................ 2 条款3 设计模式..雁.............................................................................. 漏.........漏圃.5 条款4 STL ....』.................................................................................................8 条款5 弓1 用是别名而斗乍指针............... ,, ......................................................... 10 条款6 数组形参++..................~.....必................................................................. 13 条款7 常量指针与指向常量的指针....................................伽........................... 16 条款8 指向指针的指针.......................................... 千.................薹.................. 矿.19 条款9 新式转型橾作符.........、....................................................................... 21 条款10 常量成员函数的含义........................................................................ 25 条款11 编译器会在类中放东西........................................胪............................ 29 条款12 赋值和初始化并不相同..................................................................... 31 条款13 复制操作· ·.. · · · ·.. · ·.............................................................................. 34 条款14 函数指针..............司·· • · ·•. · · ·.. · · · ·...............•..•.....................••... , ••...•••..... 37 条款15 指向类成员的指针井非指针........................ …............. …........ 攀... 零......40 条款16 指向成员函数的指针井非指针……星.....………..................... …............. 43 条款17 处理函数和数组声明.................................................... 卢................... 46 条款18 函数对象·· ·.•. · · ·.. · · · · ·.. · · ·.. · · · ·.. · · · ·.. , ~. ·..................................•................ 48 条款19 Command 模式与好莱坞法则...........................圃..... 伽·························52 2 目录 条款20 STL 函数对象................................................................................... 55 条款21 重载与重写井不相同........................................................................ 58 条款22 Template Method 模式...................................................................... 60 条款23 名字空间··························•················............................................... 62 条款24 成员函数查找................................................................................... 66 条款25 实参相依的查找................................................................................ 68 条款26 操作符函数查找.....................................伽· 喊........................................ 70 条款27 能力查询·······································"·····.. ····"····"''''''"'·····"'''···· 可可..... 72 条款28 指针比较的含义·········"••······················································· 可呵.......... 75 条款29 虚构造函数与Prototype 模式………….... …·…..... ….. ……..... ……... …… .77 条款30 Factory Method模式......................................................................... 79 条款31 协变返回类型..................................................、.............................呵.. 82 条款32 禁止复制.................. 哩....................................................................... 85 条款33 制造抽象基类..........................乓...........可............................................ 86 条款34 禁止或强制使用堆分配..................................................................... 88 条款35 placement new ................................................................................. 90 条款36 特定干类的内存管理·············································........................... 93 条款37 数组分配.......................................................................................... 97 条款38 异常安全公理.......重......................................................................... 100 条款39 异常安全的函数.................…..... 俨..................................................... 103 条款40 RAIi ................................................................. 重.............................. 106 条款41 new 、构造函数和异常................................................... 警.............. 110 条款42 智能指针·····························.................................................. 呵........ 112 条款43 auto_p 七r 非同寻常...................................................................... 114 条款44 指针算术··················...................................................................... 116 目录3 条款45 模板术语....................咱................................ , ..... , ............................ 119 条款46 类模板显式特化.一...... 呵......................... 詈······"····"•"·"·•--·""··"·"""'•• 121 条款47 模板局部特化.............. 一一一.....................气.......................................... 125 条款48 类模板成员特化..............................................................漏...薰........... 129 条款49 采用typename 消除歧义······························································132 条款50 成员模板..............................书.....................响................................... 136 条款51 采用template 消除歧义...................呵...........................恤.............. 140 条款52 针对类型信息的特化鸟...........................................量........................ 142 条款53 嵌入的类型信息·······"·····················................................................ 146 条款54 traits ......................... 呵.................................. 量.................................. 149 条款55 模板的模板参数.............................................................................. 154 条款56 policy .............................................................................................. 159 条款57 模板实参推导····································•············································163 条款58 重载函数模板·················································································167 条款59 SFINAE .......................................................................................... 169 条款60 泛型算法..............................................`.....屙···································172 条款61 只实例化要用的东西...................................................................... 176 条款62 包含哨位············................................................................... 响........ 179 条款63 可选的关键字...........................气........................ , ............................ 181 参考文献....................................................................................................... 184 索弓I .............................................................................................................. 185 代码示例索弓1 •••••• , ......................................................................................... 195

2018-05-02

C++Primer4中文高清版【有目录+高清+可搜索+可编辑/复制/粘贴+无密码】

一、下载须知 .........................有目录 .........................已经进行解密处理,大多数PDF会进行加密以至于无法编辑 .........................高清 .........................可直接复制粘贴源码 .........................可搜索某一段内容 .........................本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 二、全部目录如下: 目录 前言 ..................................................................................................................................................1 第四版的改动...........................................................................................................................2 本书结构...................................................................................................................................3 致谢...........................................................................................................................................4 第一章快速入门...........................................................................................................................17 1.1. 编写简单的 C++ 程序..........................................................................................17 调用 GNU 或微软编译器....................................................................................................20 Exercises Section 1.1.1 ...........................................................................................................21 1.2. 初窥输入/输出........................................................................................................21 关键概念:已初始化变量和未初始化变量.........................................................................26 Exercises Section 1.2.2 ...........................................................................................................27 1.3. 关于注释.................................................................................................................27 Exercises Section 1.3 ......................................................................................................29 1.4. 控制结构.................................................................................................................29 关键概念:C++ 程序的缩排和格式....................................................................................31 再谈编译.................................................................................................................................34 Exercises Section 1.4.2 ...........................................................................................................35 Exercises Section 1.4.3 ...........................................................................................................37 从键盘输入文件结束符.........................................................................................................39 Exercises Section 1.4.4 ...........................................................................................................39 1.5. 类的简介.................................................................................................................39 关键概念:类定义行为.........................................................................................................42 Exercises Section 1.5.1 ...........................................................................................................43 Exercises Section 1.5.2 ...........................................................................................................45 1.6. C++ 程序................................................................................................................45 Exercises Section 1.6 ..............................................................................................................47 小结.................................................................................................................................47 术语.................................................................................................................................47 第一部分基本语言.......................................................................................................................54 第二章变量和基本类型.......................................................................................................55 2.1. 基本内置类型.........................................................................................................55 内置类型的机器级表示.........................................................................................................57 建议:使用内置算术类型.....................................................................................................60 Exercises Section 2.1.2 ...........................................................................................................61 2.2. 字面值常量.............................................................................................................61 建议:不要依赖未定义行为.................................................................................................66 Exercises Section 2.2 ..............................................................................................................67 2.3. 变量.........................................................................................................................67 Exercises Section 2.3 ..............................................................................................................68 关键概念:强静态类型.........................................................................................................69 Exercises Section 2.3.1 ...........................................................................................................70 6 术语:什么是对象?.............................................................................................................71 Exercises Section 2.3.2 ...........................................................................................................73 Exercises Section 2.3.3 ...........................................................................................................77 警告:未初始化的变量引起运行问题.................................................................................78 Exercises Section 2.3.4 ...........................................................................................................79 Exercises Section 2.3.5 ...........................................................................................................81 Exercises Section 2.3.6 ...........................................................................................................84 2.4. const 限定符...........................................................................................................84 Exercises Section 2.4 ..............................................................................................................87 2.5. 引用.........................................................................................................................87 术语:const 引用是指向 const 的引用...........................................................................89 Exercises Section 2.5 ..............................................................................................................90 2.6. typedef 名字............................................................................................................90 2.7. 枚举.........................................................................................................................91 2.8. 类类型.....................................................................................................................93 Exercises Section 2.8 ..............................................................................................................97 2.9. 编写自己的头文件.................................................................................................97 编译和链接多个源文件.........................................................................................................99 Exercises Section 2.9.1 .........................................................................................................102 小结...............................................................................................................................104 术语...............................................................................................................................105 第三章标准库类型.............................................................................................................112 3.1. 命名空间的 using 声明........................................................................................112 Exercises Section 3.1 ............................................................................................................115 3.2. 标准库 string 类型................................................................................................115 警告:标准库string 类型和字符串字面值.....................................................................116 Exercises Section 3.2.1 .........................................................................................................116 Exercises Section 3.2.2 .........................................................................................................119 建议:采用 C 标准库头文件的 C++ 版本.........................................................................127 Exercises Section 3.2.4 .........................................................................................................127 3.3. 标准库 vector 类型.............................................................................................127 关键概念:vector 对象动态增长.....................................................................................130 Exercises Section 3.3.1 .........................................................................................................131 关键概念:安全的泛型编程...............................................................................................134 警告:仅能对确知已存在的元素进行下标操作...............................................................135 Exercises Section 3.3.2 .........................................................................................................136 3.4. 迭代器简介...........................................................................................................136 术语:迭代器和迭代器类型...............................................................................................137 Exercises Section 3.4 ............................................................................................................142 Exercises Section 3.4.1 .........................................................................................................143 3.5. 标准库 bitset .........................................................................................................143 Exercises Section 3.5.2 .........................................................................................................150 小结...............................................................................................................................150 术语...............................................................................................................................150 7 第四章数组和指针.............................................................................................................155 4.1. 数组.......................................................................................................................155 警告:数组的长度是固定的...............................................................................................159 Exercises Section 4.1.1 .........................................................................................................160 Exercises Section 4.1.2 .........................................................................................................162 4.2. 指针的引入...........................................................................................................162 建议:尽量避免使用指针和数组.......................................................................................163 Exercises Section 4.2.2 .........................................................................................................169 关键概念:给指针赋值或通过指针进行赋值...................................................................170 Exercises Section 4.2.3 .........................................................................................................172 Exercises Section 4.2.4 .........................................................................................................177 建议:理解复杂的const 类型的声明.............................................................................180 Exercises Section 4.3 ............................................................................................................182 4.3. C 风格字符串.......................................................................................................182 Exercises Section 4.3 ............................................................................................................188 C 风格字符串与 C++ 的标准库类型string 的比较...................................................192 Exercises Section 4.3.1 .........................................................................................................194 Exercises Section 4.3.2 .........................................................................................................196 4.4. 多维数组...............................................................................................................196 Exercises Section 4.4.1 .........................................................................................................200 小结...............................................................................................................................200 术语...............................................................................................................................200 第五章表达式.....................................................................................................................204 5.1. 算术操作符...........................................................................................................205 警告:溢出和其他算术异常...............................................................................................207 Exercises Section 5.1 ............................................................................................................209 5.2. 关系操作符和逻辑操作符...................................................................................209 Exercises Section 5.2 ............................................................................................................213 5.3. 位操作符...............................................................................................................213 Exercises Section 5.3.1 .........................................................................................................217 5.4. 赋值操作符...........................................................................................................218 Exercises Section 5.4.2 .........................................................................................................221 Exercises Section 5.4.3 .........................................................................................................222 5.5. 自增和自减操作符...............................................................................................222 建议:只有在必要时才使用后置操作符...........................................................................223 建议:简洁即是美...............................................................................................................224 Exercises Section 5.5 ............................................................................................................225 5.6. 箭头操作符...........................................................................................................225 Exercises Section 5.6 ............................................................................................................226 5.7. 条件操作符...........................................................................................................226 Exercises Section 5.7 ............................................................................................................228 5.8. sizeof 操作符........................................................................................................228 Exercises Section 5.8 ............................................................................................................229 5.9. 逗号操作符...........................................................................................................229 8 Exercises Section 5.9 ............................................................................................................230 5.10. 复合表达式的求值.............................................................................................230 Exercises Section 5.10.2 .......................................................................................................236 建议:复合表达式的处理...................................................................................................238 Exercises Section 5.10.3 .......................................................................................................239 5.11. new 和 delete 表达式........................................................................................239 警告:动态内存的管理容易出错.......................................................................................243 Exercises Section 5.11 ..........................................................................................................244 5.12. 类型转换.............................................................................................................244 Exercises Section 5.12.3 .......................................................................................................250 建议:避免使用强制类型转换...........................................................................................253 Exercises Section 5.12.7 .......................................................................................................255 小结...............................................................................................................................255 术语...............................................................................................................................256 第六章语句.........................................................................................................................261 6.1. 简单语句...............................................................................................................261 6.2. 声明语句...............................................................................................................262 6.3. 复合语句(块)...................................................................................................263 Exercises Section 6.3 ............................................................................................................264 6.4. 语句作用域.........................................................................................................264 6.5. if 语句...................................................................................................................265 Exercises Section 6.5.1 .........................................................................................................270 6.6. switch 语句...........................................................................................................270 Exercises Section 6.6.5 .........................................................................................................278 Code for Exercises in Section 6.6.5 ......................................................................................278 6.7. while 语句.............................................................................................................279 Exercises Section 6.7 ............................................................................................................282 6.8. for 循环语句.........................................................................................................282 Exercises Section 6.8.2 .........................................................................................................286 6.9. do while 语句........................................................................................................286 Exercises Section 6.9 ............................................................................................................289 6.10. break 语句...........................................................................................................289 Exercises Section 6.10 ..........................................................................................................291 6.11. continue 语句......................................................................................................291 Exercises Section 6.11 ..........................................................................................................292 6.12. goto 语句.............................................................................................................292 Exercises Section 6.12 ..........................................................................................................293 6.13. try 块和异常处理...............................................................................................293 Exercises Section 6.13.2 .......................................................................................................297 6.14. 使用预处理器进行调试.....................................................................................299 Exercises Section 6.14 ..........................................................................................................301 小结...............................................................................................................................301 术语...............................................................................................................................302 第七章函数.........................................................................................................................306 9 7.1. 函数的定义...........................................................................................................306 Exercises Section 7.1.2 .........................................................................................................311 7.2. 参数传递...............................................................................................................311 Exercises Section 7.2.1 .........................................................................................................314 Exercises Section 7.2.2 .........................................................................................................321 Exercises Section 7.2.5 .........................................................................................................328 Exercises Section 7.2.6 .........................................................................................................329 7.3. return 语句............................................................................................................330 Exercises Section 7.3.2 .........................................................................................................337 Exercises Section 7.3.3 .........................................................................................................339 7.4. 函数声明...............................................................................................................339 Exercises Section 7.4 ............................................................................................................341 Exercises Section 7.4.1 .........................................................................................................344 7.5. 局部对象...............................................................................................................344 Exercises Section 7.5.2 .........................................................................................................346 7.6. 内联函数...............................................................................................................346 Exercises Section 7.6 ............................................................................................................348 7.7. 类的成员函数.......................................................................................................348 Exercises Section 7.7.4 .........................................................................................................356 7.8. 重载函数...............................................................................................................356 建议:何时不重载函数名...................................................................................................359 Exercises Section 7.8.1 .........................................................................................................362 Exercises Section 7.8.3 .........................................................................................................366 Exercises Section 7.8.4 .........................................................................................................370 7.9. 指向函数的指针...................................................................................................370 小结...............................................................................................................................374 术语...............................................................................................................................375 第八章标准 IO 库............................................................................................................379 8.1. 面向对象的标准库...............................................................................................379 Exercises Section 8.1 ............................................................................................................383 8.2. 条件状态...............................................................................................................383 Exercises Section 8.2 ............................................................................................................387 8.3. 输出缓冲区的管理...............................................................................................387 警告:如果程序崩溃了,则不会刷新缓冲区...................................................................388 8.4. 文件的输入和输出...............................................................................................389 警告:C++ 中的文件名......................................................................................................391 Exercises Section 8.4.1 .........................................................................................................394 Exercises Section 8.4.3 .........................................................................................................398 8.5. 字符串流...............................................................................................................398 Exercises Section 8.5 ............................................................................................................401 小结...............................................................................................................................401 术语...............................................................................................................................401 第二部分:容器和算法...............................................................................................................403 第九章. 顺序容器................................................................................................................404 10 9.1. 顺序容器的定义...................................................................................................405 Exercises Section 9.1.1 .........................................................................................................409 Exercises Section 9.1.2 .........................................................................................................411 9.2. 迭代器和迭代器范围...........................................................................................411 Exercises Section 9.2 ............................................................................................................414 对形成迭代器范围的迭代器的要求...................................................................................415 Exercises Section 9.2.1 .........................................................................................................417 9.3. 每种顺序容器都提供了一组有用的类型定义以及以下操作: .......................418 Exercises Section 9.3.1 .........................................................................................................419 关键概念:容器元素都是副本...........................................................................................421 Exercises Section 9.3.3 .........................................................................................................425 Exercises Section 9.3.4 .........................................................................................................427 Exercises Section 9.3.5 .........................................................................................................429 Exercises Section 9.3.6 .........................................................................................................431 Exercises Section 9.3.7 .........................................................................................................434 Exercises Section 9.3.8 .........................................................................................................437 9.4. vector 容器的自增长............................................................................................437 Exercises Section 9.4.1 .........................................................................................................441 9.5. 容器的选用...........................................................................................................441 Exercises Section 9.5 ............................................................................................................444 9.6. 再谈 string 类型.............................................................................................444 Exercises Section 9.6 ....................................................................................................446 Exercises Section 9.6.4 ................................................................................................456 9.7. 容器适配器.........................................................................................................459 Exercises Section 9.7.2 ................................................................................................463 小结...............................................................................................................................463 术语...............................................................................................................................463 第十章 关联容器.................................................................................................................466 10.1. 引言:pair 类型.............................................................................................466 Exercises Section 10.1 ..................................................................................................469 10.2. 关联容器...........................................................................................................469 Exercises Section 10.2 ..................................................................................................470 10.3. map 类型...........................................................................................................470 Exercises Section 10.3.1 ..............................................................................................472 Exercises Section 10.3.2 ..............................................................................................473 Exercises Section 10.3.4 ..............................................................................................475 Exercises Section 10.3.5 ..............................................................................................479 Exercises Section 10.3.6 ..............................................................................................480 Exercises Section 10.3.9 ..............................................................................................485 10.4. set 类型...........................................................................................................485 Exercises Section 10.4 ..................................................................................................486 Exercises Section 10.4.2 ..............................................................................................489 10.5. multimap 和 multiset 类型........................................................................490 Exercises Section 10.5.2 ..............................................................................................494 11 10.6. 容器的综合应用:文本查询程序...................................................................495 Exercises Section 10.6.2 ..............................................................................................498 Exercises Section 10.6.3 ..............................................................................................501 Exercises Section 10.6.4 ..............................................................................................503 小结...............................................................................................................................503 术语...............................................................................................................................504 第十一章 泛型算法.............................................................................................................506 11.1. 概述...................................................................................................................506 Exercises Section 11.1 ..................................................................................................509 关键概念:算法永不执行容器提供的操作.......................................................................509 11.2. 初窥算法...........................................................................................................510 关键概念:迭代器实参类型...............................................................................................512 Exercises Section 11.2.1 ..............................................................................................512 Exercises Section 11.2.2 ..............................................................................................515 Exercises Section 11.2.3 ..............................................................................................521 11.3. 再谈迭代器.......................................................................................................521 Exercises Section 11.3.1 ..............................................................................................523 Exercises Section 11.3.2 ..............................................................................................529 Exercises Section 11.3.3 ..............................................................................................532 关键概念:关联容器与算法...............................................................................................534 Exercises Section 11.3.5 ..............................................................................................535 11.4. 泛型算法的结构...............................................................................................536 Exercises Section 11.4.2 ..............................................................................................539 11.5. 容器特有的算法...............................................................................................539 Exercises Section 11.5 ..................................................................................................541 小结...............................................................................................................................541 术语...............................................................................................................................542 第三部分:类和数据抽象...........................................................................................................545 第十二章 类.........................................................................................................................546 12.1. 类的定义和声明...............................................................................................546 Exercises Section 12.1.1 ..............................................................................................548 建议:具体类型和抽象类型...............................................................................................549 关键概念:数据抽象和封装的好处...................................................................................551 Exercises Section 12.1.2 ..............................................................................................551 Exercises Section 12.1.3 ..............................................................................................555 Exercises Section 12.1.4 ..............................................................................................557 12.2. 隐含的 this 指针...........................................................................................558 建议:用于公共代码的私有实用函数...............................................................................562 Exercises Section 12.2 ..................................................................................................563 12.3. 类作用域...........................................................................................................563 Exercises Section 12.3 ..................................................................................................566 Exercises Section 12.3.1 ..............................................................................................571 12.4. 构造函数...........................................................................................................571 Exercises Section 12.4 ..................................................................................................573 12 建议:使用构造函数初始化列表.......................................................................................577 Exercises Section 12.4.1 ..............................................................................................579 Exercises Section 12.4.2 ..............................................................................................580 Exercises Section 12.4.3 ..............................................................................................583 Exercises Section 12.4.4 ..............................................................................................586 Exercises Section 12.4.5 ..............................................................................................588 12.5. 友元...................................................................................................................588 Exercises Section 12.5 ..................................................................................................591 12.6. static 类成员................................................................................................591 Exercises Section 12.6 ..................................................................................................593 Exercises Section 12.6.1 ..............................................................................................594 Exercises Section 12.6.2 ..............................................................................................597 小结...............................................................................................................................597 术语...............................................................................................................................598 第十三章 复制控制.............................................................................................................601 13.1. 复制构造函数...................................................................................................602 Exercises Section 13.1 ..................................................................................................604 Exercises Section 13.1.2 ..............................................................................................607 13.2. 赋值操作符.......................................................................................................608 Exercises Section 13.2 ..................................................................................................610 13.3. 析构函数...........................................................................................................611 Exercises Section 13.3 ..................................................................................................613 13.4. 消息处理示例...................................................................................................614 Exercises Section 13.4 ..................................................................................................620 13.5. 管理指针成员...................................................................................................620 Exercises Section 13.5 ..................................................................................................623 建议:管理指针成员...........................................................................................................628 Exercises Section 13.5.1 ..............................................................................................629 Exercises Section 13.5.2 ..............................................................................................631 小结...............................................................................................................................632 术语...............................................................................................................................632 第十四章 重载操作符与转换.............................................................................................635 14.1. 重载操作符的定义.............................................................................................635 习题 14.1..............................................................................................................................640 警告:审慎使用操作符重载...............................................................................................642 Exercises Section 14.1.1 .......................................................................................................643 14.2. 输入和输出操作符.............................................................................................643 Exercises Section 14.2.1 .......................................................................................................646 Exercises Section 14.2.2 ..............................................................................................649 14.3. 算术操作符和关系操作符.................................................................................649 Exercises Section 14.3 ..........................................................................................................651 14.4. 赋值操作符.........................................................................................................652 Exercises Section 14.4 ..........................................................................................................654 14.5. 下标操作符.........................................................................................................654 13 Exercises Section 14.5 ..........................................................................................................656 14.6. 成员访问操作符.................................................................................................656 Exercises Section 14.6 ..........................................................................................................660 14.7. 自增操作符和自减操作符.................................................................................660 Exercises Section 14.7 ..........................................................................................................665 14.8. 调用操作符和函数对象.....................................................................................665 Exercises Section 14.8 ..........................................................................................................666 Exercises Section 14.8.1 .......................................................................................................669 Exercises Section 14.8.3 ..............................................................................................672 14.9. 转换与类类型.....................................................................................................673 Exercises Section 14.9.2 .......................................................................................................679 警告:避免转换函数的过度使用.......................................................................................684 Exercises Section 14.9.4 .......................................................................................................688 警告:转换和操作符...........................................................................................................690 Exercises Section 14.9.5 .......................................................................................................692 小结...............................................................................................................................692 术语...............................................................................................................................693 第四部分:面向对象编程与泛型编程.......................................................................................695 第十五章. 面向对象编程...................................................................................................696 15.1. 面向对象编程:概述.........................................................................................696 15.2. 定义基类和派生类.............................................................................................698 Exercises Section 15.2.1 .......................................................................................................701 关键概念:类设计与受保护成员.......................................................................................702 Exercises Section 15.2.3 .......................................................................................................707 关键概念:C++ 中的多态性..............................................................................................710 Exercises Section 15.2.4 .......................................................................................................713 关键概念:继承与组合.......................................................................................................716 Exercises Section 15.2.5 .......................................................................................................719 Exercises Section 15.2.7 .......................................................................................................721 15.3. 转换与继承.........................................................................................................721 15.4. 构造函数和复制控制.........................................................................................725 关键概念:重构...................................................................................................................729 关键概念:尊重基类接口...................................................................................................730 Exercises Section 15.4.2 .......................................................................................................731 Exercises Section 15.4.4 .......................................................................................................736 15.5. 继承情况下的类作用域.....................................................................................737 Exercises Section 15.5.1 .......................................................................................................738 Exercises Section 15.5.2 .......................................................................................................740 关键概念:名字查找与继承...............................................................................................743 Exercises Section 15.5.4 ..............................................................................................744 15.6. 纯虚函数.............................................................................................................745 Exercises Section 15.6 ..........................................................................................................746 15.7. 容器与继承.........................................................................................................746 Exercises Section 15.7 ..........................................................................................................747 14 15.8. 句柄类与继承.....................................................................................................747 Exercises Section 15.8.2 .......................................................................................................753 Exercises Section 15.8.3 .......................................................................................................758 15.9. 再谈文本查询示例.............................................................................................758 Exercises Section 15.9.2 .......................................................................................................764 Exercises Section 15.9.5 .......................................................................................................772 Exercises Section 15.9.6 .......................................................................................................774 小结...............................................................................................................................774 术语...............................................................................................................................775 第十六章 模板和泛型编程.................................................................................................778 16.1. 模板定义.............................................................................................................778 Exercises Section 16.1.1 .......................................................................................................781 Exercises Section 16.1.2 .......................................................................................................783 Exercises Section 16.1.3 .......................................................................................................786 Exercises Section 16.1.4 .......................................................................................................789 Exercises Section 16.1.5 .......................................................................................................790 Exercises Section 16.1.6 .......................................................................................................792 警告:链接时的编译时错误...............................................................................................793 16.2. 实例化.................................................................................................................793 Exercises Section 16.2.1 .......................................................................................................801 Exercises Section 16.2.2 ..............................................................................................804 16.3. 模板编译模型.....................................................................................................804 Exercises Section 16.3 ..........................................................................................................807 警告:类模板中的名字查找...............................................................................................808 16.4. 类模板成员.........................................................................................................808 Exercises Section 16.4 ..........................................................................................................813 Exercises Section 16.4.1 .......................................................................................................818 Exercises Section 16.4.2 .......................................................................................................820 Exercises Section 16.4.4 .......................................................................................................826 Exercises Section 16.4.6 .......................................................................................................832 16.5. 一个泛型句柄类.................................................................................................833 Exercises Section 16.5.1 .......................................................................................................836 Exercises Section 16.5.2 .......................................................................................................839 16.6. 模板特化.............................................................................................................839 Exercises Section 16.6.1 .......................................................................................................843 Exercises Section 16.6.2 .......................................................................................................846 Exercises Section 16.6.3 .......................................................................................................848 16.7. 重载与函数模板.................................................................................................849 Exercises Section 16.7 ..........................................................................................................853 小结...............................................................................................................................853 术语...............................................................................................................................854 第五部分 高级主题...................................................................................................................857 第十七章 用于大型程序的工具.......................................................................................858 17.1. 异常处理.............................................................................................................858 15 Exercises Section 17.1.1 .......................................................................................................862 Exercises Section 17.1.3 .......................................................................................................866 Exercises Section 17.1.5 .......................................................................................................869 Exercises Section 17.1.8 .......................................................................................................874 Exercises Section 17.1.9 .......................................................................................................881 警告:Auto_ptr 缺陷.........................................................................................................882 Exercises Section 17.1.11......................................................................................................888 17.2. 命名空间...........................................................................................................888 Exercises Section 17.2.1 ..............................................................................................894 Exercises Section 17.2.2 ..............................................................................................895 未命名的命名空间取代文件中的静态声明.......................................................................897 Exercises Section 17.2.3 ..............................................................................................897 Exercises Section 17.2.4 ..............................................................................................902 警告:避免 Using 指示.....................................................................................................903 Exercises Section 17.2.6 ..............................................................................................910 17.3. 多重继承与虚继承...........................................................................................911 Exercises Section 17.3.1 ..............................................................................................913 Exercises Section 17.3.2 ..............................................................................................915 Exercises Section 17.3.2 ..............................................................................................917 本节习题的代码...................................................................................................................920 Exercises Section 17.3.4 ..............................................................................................921 Exercises Section 17.3.6 ..............................................................................................926 Exercises Section 17.3.7 ..............................................................................................929 小结...............................................................................................................................930 术语...............................................................................................................................931 第十八章 特殊工具与技术.................................................................................................936 18.1. 优化内存分配...................................................................................................936 Exercises Section 18.1.2 ..............................................................................................942 术语对比:new 表达式与 operator new 函数..............................................................942 Exercises Section 18.1.4 ..............................................................................................945 Exercises Section 18.1.5 ..............................................................................................946 Exercises Section 18.1.6 ..............................................................................................949 Exercises Section 18.1.7 ..............................................................................................955 18.2. 运行时类型识别...............................................................................................956 Exercises Section 18.2.1 ..............................................................................................959 Exercises Section 18.2.2 ..............................................................................................961 Exercises Section 18.2.4 ..............................................................................................966 18.3. 类成员的指针...................................................................................................966 Exercises Section 18.3.1 ..............................................................................................969 Exercises Section 18.3.2 ..............................................................................................973 18.4. 嵌套类...............................................................................................................973 Exercises Section 18.4.2 ..............................................................................................979 18.5. 联合:节省空间的类.......................................................................................980 18.6. 局部类...............................................................................................................983 16 18.7. 固有的不可移植的特征...................................................................................985 对链接到 C 的预处理器支持.............................................................................................992 Exercises Section 18.7.3 ..............................................................................................994 小结...............................................................................................................................994 术语...............................................................................................................................995 附录 A. 标准库..........................................................................................................................999 A.1. 标准库名字和头文件................................................................................................1000 A.2. 算法简介..................................................................................................................1003 A.2.1. 查找对象的算法...........................................................................................1003 A.2.2. 其他只读算法...............................................................................................1005 A.2.3. 二分查找算法...............................................................................................1006 A.2.4. 写容器元素的算法.......................................................................................1006 A.2.5. 划分与排序算法...........................................................................................1008 A.2.6. 通用重新排序操作.......................................................................................1010 A.2.7. 排列算法.......................................................................................................1012 A.2.8. 有序序列的集合算法........................

2018-05-02

C++程序设计-谭浩强

简介:umm....这是一本属于谭浩强经典的系列,谭浩强的书应该大多数人都了解过,可以作为入门看看,我自己初学编程那会也是买了纸质版的书,初学的同学可以结合慕课网上练习教程使用更佳。

2018-05-02

Thinking_in_C++_中文版【高清+可搜索+可编辑/复制/粘贴+无密码】

一、下载须知: .................本书无目录 .................本书经过内容识别处理,所以好处就是书上的案例源码可以直接粘贴复制到编辑器中,当然有个别括号什么的可能需要自己纠正一下。 ................本书高清 ...............本书是和代码结合在一起讲解的,其中也讲到了运行时类的识别等等。 二、截取部分章节 《第18章:运行时类型识别》 RTTI的两种使用方法 使用RT T I有两种不同的方法。第一种就像s i z e o f ( ),因为它看上就像一个函数。但实际上它是 由编译器实现的。t y p e i d ( )带有一个参数,它可以是一个对象引用或指针,返回全局t y p e i n f o类的 常量对象的一个引用。可以用运算符“= =”和“!=”来互相比较这些对象。也可以用n a m e ( )来 获得类型的名称。注意,如果给t y p e i d ( )传递一个s h a p e *型参数,它会认为类型为s h a p e *,所以如 果想知道一个指针所指对象的精确类型,我们必须逆向引用这个指针。比如,s是个s h a p e * , cout << typeid(*s).name()<<endl; 将显示出s所指向的对象类型。 也可以用b e f o r e ( t y p e i n f o & )查询一个t y p e i n f o对象是否在另一个t y p e i n f o对象的前面(以定 义实现的排列顺序),它将返回t r u e或f a l s e。如果写: if(typeid(me).before(typeid(you))) //... 那么表示我们正在查询m e在排列顺序中是否在y o u之前。 RT T I的第二个用法叫“安全类型向下映射”。之所以用“向下映射”这个词也是由于类继 承的排列顺序。如果映射一个c i r c l e *到s h a p e *叫向上映射的话,那么将一个s h a p e *映射成一个 c i r c l e *就叫向下映射了。当然一个c i r c l e *也是一个s h a p e *,编译器允许任意的向上映射,但一 个s h a p e *不一定就是c i r c l e *,所以编译器在没有明确的类型映射时并不允许我们完成一个向下 映射任务。当然可以用原有的C风格的类型映射或C + +的静态映射(s t a t i c c a s t ,将在本章末介绍) 来强制执行,这等于在说:“我希望它实际上是一个c i r c l e *,而且我打算要求它是。”由于并没 有明确地知道它实际上是c i r c l e,因此这样做是很危险的。在开发商制定的RT T I中一般的方法 是:创建一个函数来试着将s h a p e *指派为一个c i r c l e * (在本例中),检查执行过程中的数据类型。 如果这个函数返回一个地址,则成功;如果返回n u l l,说明我们并没有一个c i r c l e *对象。 C + +的RT T I的“安全类型向下映射”就是按照这种“试探映射”函数的格式,但它(非常 合理地)用模板语法来产生这个特殊的动态映射函数( d y n a m i c c a s t),所以本例变成: 动态映射的模板参数是我们想要该函数创建的数据类型,也就是这个函数的返回值。函数 参数是我们试图映射的源数据类型。 通常只要对一种类型作这种工作(比如将三角型变成紫色),但如果想算出各种s h a p e的数 目,可以用面下例子的框架: 当然这是人为的—我们可能已经在各个类型中放了一个静态数据成员并在构造函数中对 第18章运行时类型识别383 下载 shape* sp = new circle; circle* cp = dynamic_cast<circle*>(sp); if(cp) cou七<< "cas 七successful"; circle* cp = dynamic_cas区circle*>(sh); square* sp = dynamic_cast<square*>(sh); triangle* 七p = dynamic_cast<triangle*>(sh); 它自增。如果可以控制类的源代码并可以修改它,当然可以这样做。下面这个例子用来计算 s h a p e的个数,它用了静态数据成员和动态映射两种方法: 384 C + +编程思想 下载 //: RTSHAPES.CPP -- Counting shapes #include <iostream.h> #include< 七ime.h> #include <typeinfo.h> #include"·.\14\tstash.h" class shape { protected: S 七atic in七coun店 public: shape() { count++; vir七ual -shape() = O { count--; } vir七ual void draw () const = O; static in七quan七让y() { return count; }; in七shape : : count = O; class rectangle : public shape void operator=(rectangle&); // Disallow protected: static int count; public: rectangle() { count++; rectangle(const rectangle&) { count++;} -rectangle() { count--; } void draw () cons 七{ cout << "rec 七angle: : draw ()" << endl; S 七atic int quantity() { return count; } ... ' int rectangle: : count = 0; class ellipse : public shape void operator=(ellipse&}; // Disallow protected: static int count; public: ellipse () { count++; } ellipse (const ellipse&) { count++; } ~ellipse() { count 一;} void draw() cons 七{ cout << "ellipse: :draw()" << endl; 第18章运行时类型识别385 下载 } static int quantity() { return count; } }; int ellipse::count = O; class circle: public ellipse { void operator=(circle&); // Disallow protected: static int count; public: circle() { count++; } circle(cons 七circle&) { count++; } 一circle() { count--; } void draw() const { cout << "circle: :draw()" << endl; } static in七quantity() { return count; } } ; int circle::count = 0; main() { 七stash<shape> shapes; time_t t; II Seed random number generator: srand((unsigned)time(&t)); const mod= 12; for(int i = 0; i < rand() 令mod; i++) shapes.add(new rectangle); for(int j = O; j < rand() % mod; j++) shapes.add(new ellipse); for(int k = O; k < rand() 兮mod; k++) shapes.add(new circle); int Ncircles = O; int Nellipses = O; int Nrects = O; int Nshapes = O; for(int u = O; u < shapes.count(); u++) { shapes[u]->draw(); if(dynamic_cast<circle*>(shapes[u])) Ncircles++; if(dynamic_cast<ellipse*>(shapes[u])) Nellipses++; if(dynamic_cast<rectangle*>(shapes[u])) Nrects++; 对于这个例子,两种方法都是可行的,但静态数据成员方法只能用于我们拥有源代码并已 安装了静态数据成员和成员函数时(或者开发商已为我们提供了这些),另外RT T I可能在不同 的类中用法不同。 18.3 语法细节 本节详细介绍RT T I的两种形式是如何运行的以及两者之间的不同。 18.3.1 对于内部类型的typeid() 为了保持一致性, t y p e i d ( )也可以运用于内部类型,所以下面的表达式结果为t r u e: 18.3.2 产生合适的类型名字 t y p e i d ( )必须在所有的状况下都可以运行,比方说,下面的类中包含了一个嵌套类: 386 C + +编程思想 下载 } if(dynamic_cast<shape*>(shapes[u])) Nshapes++; cout << endl << endl <<"circles=• << Ncircles << endl <<"ellipses=• << Nellipses << endl << "rec 七angles="&lt;&lt; Nrects &lt;&lt; endl &lt;&lt;"shapes="&lt;&lt; Nshapes &lt;&lt; endl &lt;&lt; endl &lt;&lt; "circle: :quantity() =• << circle: :quantity() << endl << "ellipse: :quantity() = " << ellipse: :quantity() << endl << "rectangle: :quantity() =" << rectangle: : quantity () << endl << "shape: :quantity() =• << shape: :quantity() << endl;

2018-05-02

Effective C++第3版中文版 侯捷译本【有目录+高清+可搜索+可编辑】

本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 全部目录如下: 自录 Contents 译序••.••.•..•..•.••.••.•..•..•..•.•..•..•.•..•.••.•..••.•..•..•.•..••.•..••.•.•..••.••••••••••••••••••••••••••••••••.•• VII 中英简繁术语对照...........................................•......•...•.....••....•..••..•..•..•.....•.............. IX 目录••.•..•.••.••.•..••.•.•..•..•..•..•.•..•.•..•.••.••..•....•.••..•..•..•....••.••••.••.•••••••••••••••••••••.•••••. XVII 序言•••.•..•..•.•••••.•..••.•.••..•.•....•..•.•.....•..•..•.••.••.•..•..•.••..•.••....•..•••••••••••••••••••••••••••••• XXI 致谢••.•.••.••••••••••••••••••••••••••••••••.••.•.••••.•...•..•.••..•..•....••.•..•..•.•..••.•..••••••••••••••••••••. XXIII 导读...................................................................................................................... 1 1. 让自己习惯C++........................................................................................... 11 Accustoming Yourself to C++ ............................................................................ 11 条款01: 视C++ 为一个语言联邦........................................................................ 11 View C++ as a federation of languages ....... …............. …............. …......... ….... 11 条款02: 尽炽以const,enum,inline 替换#define.………………………….. 13 Prefer consts,enums and inlines to 枚lefmes. ................................................. 13 条款03: 尽可能使用const ................................................................................. 17 Use const whenever possible .......................................................................... I 7 条款04: 确定对象被使用前已先被初始化…………………………………………………. 26 Make sure that objects are initialized before they're used. ……………….. …........ 26 2. 构造/析构/赋值运算.....................................................................................34 Constructors, Destructors, and Assignment Operators …·…………………·………….34 条款05: 了解C廿默默编写并调用哪些函数.……·……...…………………………….. 34 Know what functions C++ silently writes and calls. …………... …........ ….......... 34 条款06: 若不想使用编译器自动生成的函数,就该明确拒绝……………..…...... 37 Explicitly 小sallow the use of compiler-generated functions you do not want. .. 3 7 条款07: 为多态基类声明virtual 析构函数…………….......噜....…………….. ………….. 40 Declare destructors virtual m polymorphic base classes. ……………... ………….. 40 Effective C++中文版,第三版 ... XVIII 目录 条款08: 别让异常逃离析构函数....…... ……... …………………………············ …………. 44 p revent exceptions from leaving destructors ...... 今....…………….. ….......... ……... 44 条款09: 绝不在构造和析构过程中调用virtual 函数…·…………………....…………. 48 Never call virtual functions during construction or destruction. ……·…………. .48 条款10: 令operator= 返回一个reference to *this……………………….... …. 52 Have assignment operators return a reference to *this ... …·………………·……….52 条款II : 在operator= 中处理”自我赋值” ……………………·………..…………. 53 Handle assignment to self in operato产... ........ .... ........ ........... ......................... 53 条款12: 复制对象时勿忘其每一个成分..........……………………............ ……………. 57 Copy all parts of an object. ............................................................................. 57 3. 资源管理.................... .... . .........................二.............................................. 6 1 Resource Management ........................................................................................ 61 条款13: 以对象管理资源...................................................................................... 61 Use objects to manage resources ................................... …............. ….............. 61 条款14: 在资源管理类中小心coping 行为..............…………………………... ….. ….. 66 Think carefully about copying behavior in resource-managing classes .. …….. 66 条款15: 在资源管理类中提供对原始资源的访问………………………………………. 69 Provide access to raw resources in resource-managing classes ... … …·令... ..…... 69 条款16 : 成对使用new 和delete 时要采取相同形式,............................... ...... 73 Use the same form in corresponding uses of new and delete. ……·……….. ….... 73 条款17: 以独立语句将newed 对象置入智能指针……………………......….. ………. 75 Store newed objects in smart pointers in standalone statements .. ……………….75 4. 设计与声明···································································································78 Designs and Declarations .................................................................................... 78 条款18: 让接口容易被正确使用,不易被误用…………………....……………………. 78 Make interfaces easy to use correctly and hard to use incorrectly…· …· … .78 条款19 : 设计class 犹如设计type ........................................................................ 84 Treat class design as type design ........... …......... …............................. …..... 蠡....84 条款20: 宁以pass-by-reference-to-const 替换pass-by-value ………………………… 86 Prefer pass-by-reference畸to-const to pass-by-value. ………· ……· ……………....... 86 条款21 : 必须返回对象时,别妄想返回其reference …………………………………... 90 Don't try to return a reference when you must return an object. ……….. ….... 90 条款22: 将成员变炽声明为private.... …………………...... ………………... ……………… 94 Declare data members private ..................... …............. …............. …................. 94 条款23: 宁以non-member、non-friend 替换member 函数呻… ………………………….. 98 Prefer non-member non-friend functions to member functions. …·…………..... 98 条款24: 若所有参数皆衙类型转换,诮为此采用non-member 函数.…………. 102 Declare non-member functions when type conversions should apply to all parameters. I 02 Effective C++中文版,第三版 目录x_ix 条款25: 考虑写出一个不抛异常的swap 函数...…………………………… …·…….. 106 Consider support for a non-throwing swap. ………………………………………….. 106 5. 实现............................................................................................................. 11 3 lmplementattons ................................................................................................ 113 条款26: 尽可能延后变负定义式的出现时间...…......……….... …………………...... 113 Postpone vanable definitions as long as possi ble. …· ……… ·…………………….. 113 条款27: 尽汛少做转型动作... ...... .......................................令............................... 116 Minimize casting .......................................................................................... 116 条款28: 避免返回handles 指向对象内部成分.…..... .....……………·……………….. 123 Avoid returning "handles" to object internals ............................................... 123 条款29: 为“异常安全”而努力是值得的. ..…… …....…….... 令......……...... ……….. 127 Strive for exception-safe code. ….. …….... ….. ….. ….. …....... …· …….. …· …· ……... 127 条款30: 透彻了解inlining 的里里外外……….. …………………………· ………….. ….. 134 Understand the ms and outs of mlining ... .............. ................. .... .................. 134 条款31: 将文件间的编译依存关系降至最低……·……·……………………………….. 140 Min血1ze comp1lauon dependencies between files. …·………………….... …….. 140 6. 继承与面向对象设计....….... ….. ……... …….. …... …..... …………………·…......... 149 Inheritance and Object-Oriented Design ....... ……..... ……... ……...... …… .. …. ........ 149 条款32: 确定你的public 继承塑模出ls-a 关系..………………………… …………… 150 Make sure public inheritance models "is-a." ...... ………………………………· …… 150 条款33: 避免遮掩继承而来的名称.…………………...... ……….. ………... …………….. 156 Avoid hiding inherited names ......... …· ….. …........ ….................. …............. ….. 156 条款34: 区分接口继承和实现继承..……....……………………………...... …………….. 161 Differentiate between inheritance of interface and inheritance of implementation. 161 条款35 : 考虑virtual 函数以外的其他选择………...... …………………... ………….... 169 Cons ider alternatives to virtual functions .. ….. ….. …........ …...... …….. ….......... 169 条款36: 绝不顶新定义继承而来的non-virtual 函数..令........…………… …… …..... 178 Never redefine an inherited non-virtual function. ……………… …………… …….. 178 条款37: 绝不项新定义继承而来的缺省参数值,……………………………………….. 180 Never redefine a fun ction's inherited default parameter value. ……………...... 180 条款38: 通过复合塑模出has-a 或根据某物实现出" ... ………················ 令...…. 184 Model "has-a" or "is-implemented-in-terms-or• through composition ......... 184 条款39: 明智而审慎地使用private 继承………········……………………… .... ……….. 187 Use private inheritance j udi ciously ............ …….. …......... ….. ………................. 187 条款40: 明智而审惧地使用多重继承.………………………………………·…………….. 192 Use multiple inhentance jud1c1ously ................... …...................................... 192 7. 模板与泛型编程................................................................. ....... ................. 199 Templates and Generic Progranurung…………· …. .. .. …·…........ …...... 令......……….. 199 Effective C++ 中文版,第三版 xx 目录 条款4 1 : 了解隐式接口和编译期多态.………..……....... ………………………………... 199 Understand implicit interfaces and compile-time polymorphism. ……·…...... 199 条款42: 了解typename 的双蜇意义……..…………... ………....... ………………... …203 Understand the two meanings oftypename. ……………….. ……………………….. 203 条款43 : 学习处理模板化基类内的名称..…………………………···········…... ……….. 207 Know how to access names in templattzed base classes. ……….... ……·……….207 条款44: 将与参数无关的代码抽离templates ……………………………………………. 212 Factor parameter-independent code out of templates………………· ….. …….. 212 条款45: 运用成员函数模板接受所有兼容类型…………..………………………....... 218 Use member function templates to accept "all compatible types." .. …………218 条款46: 需要类型转换时请为模板定义非成员函数…………………………………. 222 Define non-member functions inside templates when type conversions are desired ... 222 条款47: 诮使用traits classes 表现类型信息…………………………...........…….. ….. 226 Use traits classes for information about types .. ………………............ ……..... ….226 条款48 : 认识template 元编程............................................................................ 233 B e aware of template metaprogramnung . . ….................. …............................ 233 8. 定制new 和delete...................................................................................... 239 Custo而zing new and delete ....................................... .. _. ................................... 239 条款49. 了解new-handler 的行为,...………... ……………………………... ……........ …. 240 Understand the behavior of the new-handler .. ………………………·……….. ….... 240 条款50: 了解new 和delete 的合理替换时机………………………………………. 247 Understand when it makes sense to replace new and delete. …………………... 247 条款51: 编写new 和delete 时衙固守常规……………..…………….. ………….... 252 Adhere to convention when wnttng new and delete. …·….. ………………......... 252 条款52: 写了placement new 也要写placementdelete………………………… 256 Write placement delete 1fyou write placement new. …….. …·…………….. …….256 9. 杂项讨论······························· ········ ········ ······················································262 Miscellany ......................................................................................................... 262 条款53: 不要轻忽编译器的警告…..............….......... …………· ……………………..... 262 Pay attention to compiler warnings ......................... …· …......... …............. …... 262 条款54: 让自己熟悉包括TRI 在内的标准程序库…·………………………·……….. 263 Familiarize yourself with the standard library, including TRI. ………..... …... 263 条款55: 让自己熟悉Boost ................................................................................. 269 Familiarize yolll'Self with Boost. ................................................................... 269 A 本书之外............................. .. ..... .. . .......................... . . . ... . . . ..... .. ..... . ... ........... 273 B索弓尸旧版条款对映:;;

2018-05-02

c++标准库参考.chm

C++的标准参考库,可以拿来用作参考手册,个人尤其是对C++的初学者很重要,因为在了解不同的函数用法之后,就可以可以增强自己的自主动手能力,打牢自己的基础。

2018-05-01

C++STL程序员开发指南【可搜索+可编辑】

本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 部分目录如下: 目录 第一篇预备知识 第1 章C++ 编程技术...................................................... 3 1-1 C++与C 语言的区别................................................... 4 1-1-1 文件扩展名的改变,.............................................. 4 1-1-2 简化输入/输出手段.............................................. 5 1-1-3 数据类型声明的改变,............................................ 5 1-1-4 动态内存分配运算符的使用....................................... 6 1-1-5 弓I 用(References) 类型, ··················•················•"'''8 1-1-6 const 语义的扩展................................................ 9 1-1-7 指针声明类型与对象类型相一致.................................. 13 1-1-8 int 与char 不再等价............................................. 13 1-1-9 结构数据类型的变化............................................ 13 1-1-10 数组和指针技术的不同......................................... 14 1-2 C++存储技术........................................................ 15 1-2 一I C++存储类型.................................................. 15 I6I7 ..... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. •. .• •. .• .. .. .. .. .. .. .. .. .. .. .. .. . 期 符存 饰生 修的 取象 存对 廿廿 I2I32 ~3 c c 1-3 C++ 函数技术........................................................ 19 1-3-1 类的构造函数、析构函数与赋值函数,..... - ........ - .............. 19 1-3-2 在派生类中实现类的基本函数,................... _ ............... 29 1-3-3 内联函数技术,........ ................................... 30 3133 ..... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . 现 实 术的 技制 数机 函象 元对 友向 由 曰1. l -C 1 4 3337 ..... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . 术术 技技 承载 继重 的数 类函 l4l44 3 ~ 3840 ..... .. .. .. .. .. .. •. .• .. .. .. .. .. .. .. .. .. .. .. •. .• .. •. .• •. •• .• .. .. .. .. .. .. .. .. .. •. •• .• . 术 技 类 术象 技抽 载和 重数 符函 算虚 运纯 l4l34 4 1-5 小结...............................................

2018-05-01

[AI游戏引擎程序设计].AI.Game.Engine.Programming.(美)Brian.Schwab.扫描版【有目录+可搜索+可编辑】

本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 部分目录如下: 第1 部分 第1 章 1.1 1.2 1.3 1.4 概述 1.5 1.6 第2 章 2.1 2.2 基本定义与概念……·…………… ..3 什么是智能................................... 3 什么是游戏AI .... ……………………·3 什么不是游戏Al …·………………… 6 该定义与人工智能理论 定义的区别.... ... . .... . . ... .......... . …... 8 可应用的大脑科学与心理学 理论... ...... .. .. .. .. .. ...... .. ... . .. .. .......... . 9 1.5.1 大脑的组织结构...….... …· …..... 9 1.5.2 知识库与学习....……............... 10 1.5.3 认知.......................................... 12 1.5.4 心智理论............ . ...............…... 13 有限朵优…............................... 19 来自机器人技术的启发..........20 1.5.5 1.5.6 小结... . ....... .. . .. ....... . ....... .. ............ 22 Al 引擎的基本组成与设计... .. .…·23 决策与推理........... ….... ….. …....... 23 2.1.1 解决方案的类型…............…···24 2.1.2 智能体的反应能力…... ....., .. …·24 2.1.3 系统的真实性.... . ..……........ …··24 2.1.4 游戏类型……. .……... , .......... …··25 2.1.5 游戏内容······· ··· ········ · · ·· · · ·· ····· · ··25 2.1.6 游戏平台············· · ······ · ····· · ·······25 2.1.7 开发限制.......…·······················27 2.1.8 娱乐限制······· · ·…............ …······28 输入处理机与感知……………..…·29 2.3 2.4 2.5 第3 章 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 2.2.l 2.2.2 2.2.3 2.2.4 3.5.1 3.5.2 3.5.3 3.5.4 感知类型. . ... 舍............... .... .........29 更新规则.......….... …................. 29 反应时间..…............................. 30 门限.................... ..... ... ........ ...... 30 负荷平衡··· · · · ······· ····…··············30 计算代价与预处理...…· ….... …30 2.2.5 2.2.6 导航..................................... . ..... . . 31 2.3.1 基于网格... 合.................. .. ......... .31 2.3.2 简单避免与位势场…..... .. .……·32 2.3.3 地图节点网络······….... ……·····33 2.3.4 导航网格... .. . ........................... 33 2.3.5 组合系统··· · · · ·· ··· ··· ··……············34 综合考虑····························· ·· ·· ·· ··35 小结················· · ·· · ··· ·· ·· ·· ·········· ·· ·· ·36 Alst~roids: Al 试验平台… ·…... 37 GameObj 类........…······· …........... 38 GameObj 类的Update()函数…··39 Ship 对象.. ............................ ...... 40 其他游戏对象.....…………..... …·… 41 GameSession 类............. ….......... 42 主逻辑与碰撞检测·……...…..... 43 对象清除. ............……............... 45 主飞船和宝物的产生.. .………·-45 奖励生命..........................…..... 46 3.5.5 级别和游戏的结束...………..... 46 Control 类· · ························ ·· ·· ·· ·· · ·47 AI 系统钩子·· · ···· ··……............ …··47 游戏主循环..... ...….... ..... ............. 48 小结............................................. 48 VI Al 游戏引擎程序设计 第II 部分游戏类型 第4 章角色扮演类游戏.....…………·…·53 4.1 通用AI 元素.......... . ...…... .......... 57 5.4.2 传统冒险根源的回归....... .…···74 5.4.3 更好的NPC 通信….... ..…..... …74 5.4.4 用户界面······ · ··· · · · ··· · ·········· ·鲁···· · 74 5.5 小结········ · ·· · ··· ·· ···· · ·· ·· ··· · ··· · ··· · ··· · ···75 4.1.l 敌人·…· …. .... ….... ....... .. .. ........ 57 第6 章即时策略游戏. .. ... .. .. ........... . ... 77 4.l.2 头目................................... 5g 6.1 通用AI 元素.. . ..... . ..... . ....... .. .. .. .. . 77 4.l.3 非玩家角色...... ....... ....…··········58 6.1.l 个体单元................ . .. ... ............77 4.1.4 店员··········· · ···· · ············ ·· ···· · ······59 4.1.5 队员.............. .. . . .. . . .. ... . ... . . . ........ 59 4.2 有用的AI 技术…..………………... 60 4.2.1 脚本. ................. . ........ . . ...... .... . . . 60 4.2.2 有限状态机……... .. ...…….... …61 4.2.3 消息. .... . .......... . ... . ... . ...... . ....... ... 62 4.3 示例................ . ... .. ............ . .......... 62 4.4 例夕卜········ ·· ················ ·· ·················63 4.5 需要改进的具体游戏元素……· 64 4.5.1 角色扮演不等于战斗...... …·64 4.5.2 语法机器.. . ... . . . ... . . .…···············64 4.5.3 任务发生器........................ . .....65 4.5.4 更好的队员AI·…········· …….. 65 4.5.5 更好的敌人…….. . ... .. ... . . .………·66 4.5.6 完全真实的市镇. . . . . ...….. …...... 67 4.6 小结. . ... . .. . ..... . .............. .. . .. .. .. .. .. .. . 68 第5 章冒险类游戏··· ··· ·· ·· ·· · ················69 5.1 通用Al 元素··· · ················· ·· ··· ·· · · 70 5.1.l 敌人Al····· ····················· · ··········70 5.1.2 非玩家角色…· ·· ·· ·……........ …···70 5.1.3 协作元素···· ···· · · · ············ · · · · ·· · · ···71 5.1.4 感知系统... . .... . ... . ...... . ... . ......... . 71 5.1.5 摄像机······ ········· · · · ····· · · ···· · ·····... 71 5.2 有用的Al 技术……..... .………….. 71 5.2.l 有限状态机....…..... .…·…·……··71 5.2.2 脚本系统..... .... ... ….............. …··72 5.2.3 消息系统·········· ·················· ···· ·· 72 5.2.4 模糊逻辑... . . . ... . ... . ... . ...….......... 72 5.3 示例............................................. 73 5.4 需要改进的领域…………………… ·74 5.4.1 潜行目标的附加类型·· ···· ··· · ····74 6.1.2 雇佣个体单元·…..................... 7g 6.1.3 指挥官与中级战略性元素......7g 6.1.4 高层战略性A1 ….....….. ….... 7g 6.1.5 市镇构建......... …...................... 79 6.1.6 本土生活............ ..…...... ...... …·79 617 路径搜索. . ....…..... … 79 6.1.8 战术与战略支撑系统...………·79 6.2 有用的AI 技术………….. …..... ….. 81 6.2.1 消息............ . . ......... .... . .............. 81 6.2.2 有限状态机.…..….. ……..... …… 81 6.2.3 模糊状态机. . ... . ..... ...…..... ….... g2 6.2.4 层次化AI·· …............... ...... …... g2 6.2.5 规划............ .......... . . . .. . . . ....... .. . .. 82 6.2.6 脚本.......................................... 82 6.2.7 数据驱动Al·……………….... …··83 6.3 示例· · ··············· ·· ··· · ··· ·· · · ·· · ············84 6.4 需要改进的领域……………..... ….. 85 6.4.l 学习.......... .. ..... . . . . . . ................... g5 6.4.2 确定Al 元素何时受困...…..... g5 6.4.3 Al 助手··· ········· ·· ·· ···.............…86 6.4.4 对抗人物............. ….................. 86 6.4.5 多战略少战术.............…….. …87 6.5 小结............... . ... .. . .. ................... .. 88 第7 章第一人称/第三人称射击游戏.. . 89 7.1 通用AI 元素.............. . .. . .…· …..... 91 7.1.1 敌人............. ................... . ......... 91 7.1.2 敌人头目. ......................... ....... .92 7.1.3 死亡竞赛对手…·……….. .……···92 7.1.4 武器············ · ········ · ····.. ··············92 7.1.5 协作智能体........………….. .. …·93 7.1.6 分队成员.................. ....... ... .. . ...93 7.1.7 路径搜索.... . .............................93 7.1.8 空间推理................. ... ...........94 7.2 有用的AI 技术...……... …….. …... 94 7.2.l 有限状态机··········· .. . ........ . ... ....94 7.2.2 模糊状态机.... …....... …•····· …···97 7.2.3 消息系统········ · · · · ··· ············· · · ···· 98 7.2.4 脚本系统.. . ....... . .. ........... . .. ..... . .9g 7.3 示例.. .. ... . .. . ................. . .......... ...... 98 7.4 需要改进的领域…….......……...... 99 7.4.l 学习与对千建模...…....... … ···99 7.4.2 个性· ·· ········· · ··· · ········· · · · ·· · · • ······1 00 7.4.3 创造力········· · ·········· · · · ···· ..·······100 7.4.4 预测......... . ... . .. ....... . . . ... . ........ .. 100 7.4.5 更好的会话引擎....…····· … ··101 7.4.6 动月L··· · · · ······················· • · · ······ · ·1 01 7.4.7 更好的分队Al··· ··· ..· …···········101 7.5 小结................... ...... ........... . ... .. . 101 第8 章平台游戏....... .. ... ........... ... .. ... 103 8.1 通用Al 元素....................... . .. . . 108 8.1.l 敌人..... . .. . .... . .......... ....... . ........ )08 8.1.2 敌人头目....... .. ... . ......... .. .. . ..... 108 8.1.3 协作元素.. .... . ........ . .............. . . 108 8.1.4 摄像机······· · ············· · ············· · 109 8.2 有用的AI 技术.. . ……........ ……·llO 8.2.1 有限状态机.. . .……············· …110 8.2.2 消息系统............... . .. …........... 1 IO 8.2.3 脚本系统.....…….. .……·······110 8.2.4 数据驱动系统……....….......... 110 8.3 示例.... ............ .. .. .. .. ........... ......... 110 8.4 需要改进的领域..……….. ……..... l 11 8.4.1 摄影技巧· · · · · ·· ·· · ············ ·· ········111 8.4.2 帮助系统·· ········--··... ............... 111 8.5 小结................ . ............... . ..... ...... 112 第9 章射击类游戏…… …...…·….... …·113 9.1 通用Al 元素.................. ... . . ...... 118 9.1.1 敌人.............. . ...... ....... ............ 118 9.1.2 敌人头目................................ 118 9.1.3 协作元素.......... . ............…······ 119 目录 9.2 有用的Al 技术..……... ….. ……... 119 9.2.1 有限状态机..…·········· --…… ·· · 119 9.2.2 脚本系统·· · ·············· ············· ··119 9.2.3 数据驱动系统··········'"… ····· · ···l l9 9.3 例外···················· · ·· · ··· · ············ · ··120 9.4 示例········ · ··· ····· ·········· ···· ·· ·· ········ 120 9.5 需要改进的领域…. .………... …... 121 9.6 小结·········..··· ····· ····················· ···l22 第10 章运动类游戏….,..... …………···123 10. l 通用AI 元素.... .…................... 124 10. l.l 教练或团队级别Al·· · · ······124 10.l.2 玩家级别Al····….. ……····· 124 10.l.3 路径搜索.......… •... ………·125 10.l.4 摄像机······ ········· · ············· ·· ·1 25 10.l.5 混杂元素···························· 126 10.2 有用的Al 技术·……...……….... 127 10.2.1 有限状态机与模糊 状态机. ....... . . . . .................... ,27 10.2.2 数据驱动系统..…...... …….. 133 10.2.3 消息系统.. . ........……......... 134 10.3 示例·· ·· ··············· ··· · ·· ················ 1 34 10.4 需要改进的领域…·……·……… ·135 10.4.1 学习......... ............ ............ . .. 135 10.4.2 游戏平衡...…........ ……........ 135 10.4.3 玩法创新.... ......... ..... .. ..... 135 10.5 小结········ ·· ·················"··· ·· ·······136 第11 章赛车游戏..... ... …..... .. …........ 139 11.l 通用Al 元素····· ··· · ···· · ··· ·········· 140 ll.l.l 轨迹Al·· · ·.. ······ …................ 140 11.1.2 交通. ............. . .. ........... ........ 141 11.1.3 行人.. .... .. .. ............... . .......... 142 11. l.4 敌人与战斗·……·……·……... 142 11.1.5 非玩家角色…...........………·142 l l. l.6 其他竞争行为...…... ……..... 142 11.2 有用的Al 技术·……..………….. 143 11.2.1 有限状态机···· ·· ·..…........... 143 11.2.2 脚本系统…………...……….... 143 11.2.3 消息系统....... . .................... 143 VII

2018-05-01

软考_嵌入式系统设计师教程2010年版

嵌入式系统是一种应用范围非常广泛的系统。可以说除了桌面计算机和服务器外所有 计算设备都属千嵌入式系统,例如从便携式音乐播放器到航天飞机上的实时系统控制都属 千嵌入式系统。 大多数商用的嵌入式系统都设计成专用任务的低成本的产品。大多数的嵌入式系统都 具有实时性的要求。有些功能需要非常快的主频,但其他大多数功能并不需要高速的处理 能力。这些系统通过特定的器件和软件来满足实时性的要求。 简单地通过速度和成本来定义嵌入式系统是困难的,但对千大批量的产品而言,成本 常常对系统设计起决定作用。通常,一个嵌入式系统的很多部分相对系统主要功能来说需 要较低的性能,因此嵌入式系统和通用PC 相比,能够使用一个满足辅助功能的合适的 CPU, 从而简化了系统设计,降低了成本。例如,数字电视的机顶盒需要处理每秒以百万 兆位计的连续数据,但这些数据处理大部分是由定制的硬件来实现的,如解析、管理和编 解码多个频道的数字影像。 对千大批量生产的嵌入式系统,如便携式音乐播放器或手机等,降低成本就成为最主 要的问题。这些系统通常只具有几个芯片:一个高度集成的CPU, 一个定制的芯片用千控 制其他所有的功能,还有一个存储芯片。在这种设计中,每部分都设计成使用最小的系统 功耗。 对千小批量的嵌入式应用,为了降低开发成本,常常使用PC 体系结构,通过限制程 序的执行时间或用一个实时操作系统来替换原先的操作系统。在这种情况下,可以使用一 个或多个高性能的CPU 来替换特殊用途的硬件。 嵌入式系统的软件通常运行在有限的硬件资源上:没有硬盘、操作系统、键盘或屏幕。 软件一般都没有文件系统,如果有的话,也会采用Flash 驱动器。如果有人机交互接口的 话,也是一个小键盘或液晶显示器。硬件是计算机的物理部分,和存储在硬件中的计算机 www.TopSage.com www.TopSage.com 2 嵌入式系统设计师教程 软件程序和数据区分开来。 嵌入到机械中的嵌入式系统需要长期无故障连续运行, 因此它的软件需要比PC 中的 软件更加仔细地开发和更加严格地测试。 那么,到底什么是嵌入式系统呢? 根据IEEE (国际电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅 助设备、机器和车间运行的装贺"(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants) 。这主要是从应用上加以定义的,从中可以看 出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。 目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础,软件 硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机 系统。 可以这样认为,嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通 常,嵌入式系统是一个控制程序存储在ROM 中的嵌入式处理器控制板。事实上,所有带 有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式 系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。

2018-04-30

重构_改善既有代码的设计[高清版]【已进行内容识别处理,可搜索,可编辑+有目录】

目录 第1 章重构,第一个案例···· · ·· · · ····· · · ····· ··· · ····· · · ·….... ……................ ….............. …..... …...... …l I.I 起点···· ········· · · · ·· · ············· · ··· · ··········· ·· · ··· · ··········· · · ··· · · ··· ···· ·· ····· · ·· ···· · ·· · · ··· ·· · · · ·· ·· · ·· · ···· · ··· ·····I 1.2 重构的第一步·· ·· · ·· ········· ···· ·· · ······· ········· · ········· · ··· · ······ ··· ·· · · ·· · ·· · · · · ··· ··· ·· ·· · ·· · ········ ·· · ············ .7 1.3 分解并重组s t atement ()…............. …······································ ….......... …................. 8 1.4 运用多态取代与价格相关的条件逻辑………… … . . ..……....... ….... ….... …······ ……····· …··34 1.5 结语··· ······· ··· ·· · ······ · ··· · ········ ···· · ·· ····· · · ·· ·· · ···· ·· · ·· ·· ·· · ·· · ·· · · ··· · ·· · ·· · · ·· · ·· · ·· ·· ·· ····· ·· · ·· ·· ····· · ···· · ·····52 第2 章重构原则······ · ···· ······· ·· · · ·· ··· ·· · · ··· · · · · ·· · ·· ·· ·· · ···· ·· · ·· ·· ·· · ·· · ·· ···· ········ ·· ···· · ·················· · ·· · · ·······53 2.1 何谓重构·· · · ·· ··· ·· ··· ··· ····· · ············· · ·· ················ · ·· ·· ······················· · ············· · ······· ·· • ··· ····· ·· ·53 2.2 为何重构···· ········· ··· · ············ · ·· ···· · ···· ·· · ·· · · ·· · · ··· ····· · · ·· ····· • ···· • · ·············· · · · ·· ··· ···· ····· · ········ ···55 2.3 何时重构··· ··· ·· · ·· ··· · ·· ·· ··· ·· ··· ·· ·· ·· ··· • · ·· ····· ·· · ·· •· ······· · · ····· ·· · ·· ·· · ···· ·· ················· · ············· · ·· · ····57 2.4 怎么对经理说·· ·· ····· · ··· · ···· · ········· ···· · ···· ············ ········· ·· ··· ·· ··· ·· ·· ·· ··· ·· •· ·· · ···· ······· · · ·········· ····60 2.5 重构的难题...... .. . ............. .. ....... . .... . ........... .. . . . ...... .. ... ... .............................. . ........ . ........ 62 2.6 重构与设计······ ·· · · ······· ·· ···· · ··· ·· · · ··· ·· ·· ····· · · · ·· ·· ·· ··· ·· ·· · ·· ·· ···· · ···· · · ········ ···· · ·· · · ·· · ·· ·· --· ·· ·· · ·· · · ·· ··66 2.7 重构与

2018-04-30

代码之殇【已将页面转化为可搜索图像/文字+有目录】

本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 目录如下: 本书赞誉 译者序 序 前言 第1 版前言 第1 章项目管理失当 目录 2001 年6 月1 日”开发时间表、飞猪和其他幻想” 2001 年10 月1 日”竭尽所能,再论开发时间表· 2002 年5 月I A, .• 我们还开心鸣?分诊的乐趣” 2004 年12 月' " 向死亡进车” 2005 年10 月1 日”揭露真相” 2008 年9 月I A, .. 我得估算一下” 2009 年5 月1 日” 一切从产品开始 2009 年9 月I B• .. 按计划行吓 20]0 年5 月I B• .. 敏捷的团队合作“ 第2 章过程改进,没有灵丹妙药 2002 年9 月2 日.“ 六西格玛,饶了我吧, .. 2004 年1 0 Jj I 日“精益· 比五仵汛牛肉还好” 2005 年4 月1 日“客户不满' 2006 年3 月1 日敏捷子弹” 2007 年10 月I H, .. 你怎么度肚你自己?” 20 10 年10 月I B• .. 有我呢。” 20 10 年II 月1 日“我在缠珩你吗, ""'报告。” 2010 年12 月1 日:“生产第一.. ................ . 2011 年2 月1 日“ 周期长度一一生产力的老生常谈” 第3 章根除低下的效率......... . ............. . ........ 2001 年1 月I "• •· 迟到的规范书生活现实或先天不足” 2002 年6/11 日" 闲置人手” 2004 年6 月1 日“我们开会的时候` 2006 年1 月1 日”停止写规范书. ii!功能小组呆在一起“ 14 /8 21 25 28 3/ 32 33 39 44 50 54 58 62 65 70 71 73 77 79 汛 2007 年2 月1 日"糟糕的规范书该指责谁?” 2008'F 2 月1 日: “ 路漫漫, 其修远-j) 布式开发” 2008 钉12 月1 日”伪优化” 2009 年4 月1 日世界, 尽在掌握“ 2011 年4 月1 日“你必须做个决定 第4 章跨越工种............. .... ..... 2002 年4 月1 日.“现代临时夫妇?开发与测试” 2004 年7 月1 日“感觉性急一测试者的角色” 2005 年5 月1 日”模糊逻fl-一君子之心” 2005 年II 月1 日”废除I 种一布什么理由消.七业化?” 2009 <F I 月1 日”持续工程的儿话” 2011 年5 月I R , "测试不该不受>Jlll" 第5 章软件质量不是梦·…... …....... 2002 年3/llli," 你对你的安全放心吗” 2002 年II 月1 日.“牛肉在哪里?为什么我们要质扯" 2004 年4 月1 日“软件发展之路~从手工艺到工程” 2005 年7 月1 日“复市一下这个一市在“ 2006 年10 月1 日”对质让的大胆预测.. 2008 年5 月1 日``碰撞测试恢复“ 2008 钉10 月1 日"盯紧标称“ 第6 章有时间就做软件设计 2001 年9 月I A'" 错误处理的灾难” 2002 年2 月1 日勹太多的厨师弄馈了一锅好汤啡一权戍" 2004 年5 月1 日;“通过设计斛决.. ................... .. 2006 年2 月1 日“质址的另一面一设计师和架构帅” 2006 年8 月1 日”央妙隔离一更好的设计” 2007 年II 月IH 软件性能你在等什么?” 2008 年4 月1 日: 伍为您效劳" . ............... 2008 年8/11 日“我的试验成功了! (原型设计)” 2009 年2 月I H, "绿野中长清姐了“ 第7 章职业生涯历险记....... 200 1 年12 月1 日”当熟练就是目标” 2002 年10 月lfl," 人生是不公平的一去核曲线” 2006 年II 月I A' .. 职业阶段上的角色” 2007 年5 月1 日”与世界相连` 2007 年II 月1 日”找个好工作一发现新角色” 2007 年12 月1 日“要么带头做事,要么唯命是从,要么赶紧离开“ 2008'" 7 月I H , .. 猩猩在装中的机遇” 20I O 年3 月I H, "我是很负责的" 2010 年4 月I " ' .. 新来的伙计” 82 85 89 91 94 98 99 IOI /05 109 Ill 114 JIB 119 121 127 /31 /36 /38 142 146 147 149 151 155 158 161 164 167 170 174 175 177 180 /83 187 190 194 196 200 Xv 2010 年6 月I H'•• 升级” 2010 年9 月[日:"肝煌时代” 2011 年1 月I H," 个休倾导右" 第8 章自我完善.................. 2002 年12 月1 日“合作还姑分过扬镶一协商” 2005 年2 月1 日.“从好学会平衡生活” 2005 年6 月1 日'. 有的是时间" 2005 年8 月1 日"寓利于乐,控利你的上词“ 2006 年4 月1 日“你在限我讲吗,沟通的从础” 2007 年3 月1 日”不怂公开与诚实肌么简小 2009 年3 月1 日:“我听轩呢" 2009 年7 月I H," 幻灯片” 2009 年12}1 1 日.不耍悲观” 2010 年SJI I H, .. 我捅娄子了“ 2011 年3 月I H, "你也不赖" 第9 章成为管理者,而不是邪恶的化身 2003 年2 月1 日.不仅仅是数字一生产力” 200! 年9 月I H , "面试流程之外” 2004 年II 月1 日“最难做的飞作一绩效不仕者” 2005 年9 月1 日.随波还流一人才的保持和流动" 2005 年12 月I H, • 管理我在行“ 2006 年5 月1 日“比较的恶果店态团队 2邸年3 JI I H, .. 必须改变掌控改变” 2009 年6 月I H, •• 奖赏.很难” 2009 年10 月I 8," 招人总怂后悔" 2009 年II 月1 日.。竹理饱了.... 20!0 年1 月1 日” 一对一与多对多” 2010 年7 月1 日“文化冲击“ 第10 章微软, 你会喜欢它的 200 1 年II 月1 日.我怂怎样懂得不再焦虑并爱上重组的" 2005 年3 月1 日.你的产品小元经理是个浒民吗,. 2006 年9 月I H, .• 有幸成为W叩ow, 的主书者” 2006 年12 月I B • "Googl,, 严项的威胁还是糟糕的拼写,·· 2007 年4 月I A, "中年危机. ................... . 2008 年II 月1 日.虚无主义及其他的创新毒药" 2010 年2 月'" 畛我们丛功能型的吗?” 术语表 203 207 210 213 2/4 216 219 224 228 23/ 234 236 240 243 245 248 249 251 255 258 262 266 269 272 275 278 280 284 2,.8,7, 290 293 2911 JOI 305 ]OIi 312

2018-04-30

希赛信息项目管理师视频资源31讲

信息项目管理师考试视频辅导资料,一共2.73个GB,附带论文参考资料

2018-04-30

用例叙述模板

系统分析师UML实务手册的作者邱郁惠倡导的用例叙述格式

2018-04-30

Java游戏高级编程.pdf

内容简介 在第1 章“配置开发环境”中,我向读者介绍了将要在整本书中使用的代码库。描述了这 个库的设计, 并给出了编译示例游戏的说明。可能会在游戏开发环境中使用的一些附加代码、 图形和音频文件,也在本章确定了下来,还介绍了软件开发的一些流行工具。以模板的形式给 出了一个演示Java 游戏编程基础知识的游戏示例。 在第2 章“部署框架”中,我们关注的重点是在可以安装在多种不同类型的平台上的一个 框架中部署游戏。在动画线程管理技术的相关内容中,介绍了一个被广泛使用的框架接口以及 applet 生命周期。在对适合千游戏的不同发布而进行不同部署的选项进行了一个简要的回顾以 后,给出了允许游戏部署在不同开发环境中而不需要任何修改的一个抽象层的源代码示例。 在第3 章"Swing 动画”中,介绍了一个基于Swing 的动画库,这个动画库会在整本书中 使用。这一章主要考虑的问题是动画的性能和灵活性。在介绍核心动画引擎类的源代码时简单 介绍了优化权衡。 在第4 章“动画库”中, 介绍了通用动画任务的一个类集合。这些类提供了很多功能,例 如场景管理和Sprite 实现。它们也用来介绍怎样开发与核心动画引擎类互操作的游戏特定代码。 在第5 章“高级图形技术”中,介绍了高级图形技术,包括硬件加速图形、多缓冲和全屏 独占模式。给出了使这些技术的使用变得更加方便的可重用类和使用这些可重用类的示例游 戏。对其中的每—个技术,都介绍了关千它们使用方法的一些限制。 在第6 章“持久数据“中,对在各种部署框架中加载和保存游戏数据的机制进行了对比。 在这个过程中还介绍了可以用千大多数游戏编程的可重用数据待久性的类库。对更加高级的持 久性需求的其他选择也进行了考虑。 在第7 章“游戏体系结构”中, 介绍了适合千Java 游戏开发的面向对象的软件体系结构 的优点。使用这种体系结构的一个示例游戏是作为新游戏开发模板进行介绍的。本章还简单介 绍了一下数据驱动的设计。 在第8 章"A * 算法”中,介绍了现在在游戏行业中虽流行和最常用的一个人工智能(Al) 算法的实现。本章还介绍了使用A*算法绕过蹄碍物寻找路径的示例。 在第9 章" HTTP 隧道技术”中,介绍一个可以在大部分Java 游戏部署环境里常见的安全 限制以内进行操作的一个联网库。本章还给出了一个示例,在这个示例中,数据在服务器和客 户机之间进行传递。 在第10 章" HTTP 轮询机制”中,将联网库扩展以支持在线多玩家游戏。使用轮询来同步 客户机和服务器上的游戏状态。在由单玩家游戏向多玩家联网游戏的转换中,介绍了我所推荐 的软件体系结构的灵活性。 在第I I 章" HTTP Pulling 机制”中,事件驱动的消息是作为轮询的另一个选择而推荐使 用的。使用在前面两章中介绍的这些类,演示了这是怎样在无符号applet 的安全限制以内实现 的。使用这些技术进行进一步开发的一些建议已经超出了本书的范围,这里只进行简单的介绍。

2018-04-29

深入JAVA虚拟机

译老序 前言 第1 章Java体系结构介绍................. ….... J I.I 为什么使用Java ................................. J 1.2 网络带来的挑战和机遇·……....... …....... J 1.3 体系结构. ...... ... ..... .... ..... .... ..............2 1.3.1 Java 虚拟机.................................2 1.3.2 类装载器的体系结构..…….... ………4 I .3 .3 Java class 文件..............................7 1.3.4 JavaAPI .................................... 7 1.3.5 Java程序设计语言....... .. .............. .8 1.4 Java体系结构的代价.............….. …... JO 1.5 结论.......................... . ..................13 1.6 资源页...................... ... ................ .13 第2 章平台无关............... ... .. .... .. .. .. ......15 2.1 为什么要平台无关.... .. .....................15 2.2 Java的体系结构对平台无关的支持......16 2.2.1 Java 平台................................. 16 2.2.2 Java 语言................................. 16 2 .3 .3 Java cl ass 文件........................... 16 2.2.4 可伸缩性.. ................ .. ......... . . .....16 2 .3 影响平台无关性的因素......……………18 2.3.1 Java平台的部署...........................18 2.3.2 Java平台的版本...........................18 2.3.3 本地方法...... . .. . .. .. ............ . .........19 2.3.4 非标准运行时库........... .... ............20 235 对虚拟机的依赖… · … .. .... ............ 20 2.3 .6 对用户界面的依赖............ . .....…... 21 2.3.7 Java平台实现中的bug .... .............. z1 2.3.8 测试.......... .. ........... . ... . . . . .. ........ .2/ 2 .4 平台无关的七个步骤………·…..... …... 2, 2.5 平台无关性的策略.... ..……...... …..... ,22 2.6 平台无关性和网络移动对象..………....24 2.7 资源页..........................................24 第3 章安全........ .. .. . ... .... ..... ....... .. .. .. ... .25 3.1 为什么需要安全性…....... ….............. z5 3.2 基本沙箱........................ .. ..... ...... ..z6 3.3 类装载器体系结构…...... …............... z7 3.4 class文件检验器..............................31 3.4.l 第一趟: class 文件的结构检查……...3z 3.4.2 第二趟:类型数据的语义检查....…··33 3.4 .3 第三趟:字节码验证·…·… .. ......….. 33 3.4 .4 第四趟:符号引用的验证·….... .…·· ·34 3.4.5 二进制兼容......................... .. . .... .35 3.5 Java虔拟机中内置的安全特性. ………..36 3.6 安全管理器和Java AP! · …………........ 38 3.7 代码签名和认证............ .... ..............41 3.8 一个代码签名示例............ .... ... ..... ...45 3.9 策略..... . ................ .. ... .. .. .... .. ....... .49 3.10 保护域.. . ........ . ....... .. .. ... ...... . .........52 3.1 1 访问控制器........... ..... ................ ....54 3.11.1 implies ()方法··· ····· ·· ············ · ·54 3.11.2 栈检查示例........................ .. ....56 3.11.3 一个回答”是"的栈检查... .…·…·59 3 . 11.4 一个回答“不"的栈检查. ...…….. 62 3. II .5 do Privileged ( )方法.. .. ........ . .....64 3.11.6 doPrivileged ( )的一个无效使用...68 3.12 Java安全模型的不足和今后的发展 方向..... . ..... ......... . ........ ... ......... ... .71 3 . 13 和体系结构无关的安全性… ..……·……71 3.14 资源页........ .. .............. . .................72 第4 章网络移动性.................. . ..............73

2018-04-29

Java核心技术-基础知识(第8版)

我们假定读者愿意(甚至渴望)学习Java提供的所有高级特性。本书将详细介绍下列内容: · 面向对象程序设计· 异常处理 · 反射与代理· 泛型程序设计 ·接口与内部类· 集合框架 ·事件监听器模型·并行操作 · 使用Swing UI工具箱进行图形用户界面设计

2018-04-29

[ASP.NET.MVC.4.Web编程].徐雷等.扫描版

本书介绍了微软最新的AS P.NET MVC 4框架,帮助我们了解整个 ASP.NET MVC 4框架的运行原理,包括如何使用ASP.NET MVC 4 框架构建Web应用程序以及如何在真实开发场录中使用ASP.NET MVC4框架新特性来解决不同的问题。通过本书的学习,将学会 如何使用HTML 、JavaScript 、Entity Framework以及其他Web相关 的技术,比如Web网站性能优化、级存等枝术。 通过本书的学习,我们不仅可以了解最基本的MVC架构桢式,而 且还可以了解与此相关的高级知识点。为了便干大家更好地学习 ASP.NET MVC 4框架开发的最佳实践经验以及相关知识,作者特 意编写了一个电子交易网站"EBuy '' 应用程序,作为参考实例。

2018-04-29

深入理解linux内核(第三版.中文)【有目录】

当着手翻译第三版时,我不由得回想起开始接触Linux 的那投日子。 几年前,当我们拿到Linux 内核代码开始研究时,可以说茫然无措。其规模之大,叫“覆 压三百余里,隔离天日”似乎不为过;其关系错综复杂,叫"廊腰线回,檐牙高啄,各 抱地势,勾心斗角”也非言过其实。阿房宫在规模和结构上给人的震撼可能与Linux 有 异曲同工之妙。“楚人一炬,可怜焦土”,可能正是因为它的结构和规模,阿房宫在中国 两十多年矗极的计建历史中终于没有再现,只能叫后人扼腕叹息;但是, Linux 却实实 在在地矗立在我们面前,当我们徘徊在这宏伟宫殿之前时,攻许,我们也需要火炬 不是用来效灭,而是为了照亮勇者脚下的征途。 Linus Torvalds 在我们面前展现的Linux 魔法卷轴,让我们的视野进入一个自由而开放 的新世界。自由意味着自我价值的实现,开放代表着团结协作的理想,这对于从没把握 过核心操作系统的中国人来说,无疑燃起了心中的梦想。于是,许多人毫不犹豫地走进 来了,希望深入到那散发自由光彩、由众人团结协力搭造起的殿堂。但是很快,不少人 迻缩了。面对这样一个汪洋大诲,有的人迷惑了,出诲的航道在哪里?有的人倒下了. 漫漫征途何时是尽头?我常常想,如果那时他们手中就有这本书的话…… Daniel P.Bovet 和Marco Cesati 携手为我们打造了这本浅无巨著,自此我们有了火把, 有了航诲图,于是我们就有了彼岸,有了航道,也有了补给码头。不是吗?中断虽繁, 但笫四、六两章切中肯紧的剖析,肯定能让你神清气爽;内存管双虽淮, 但多达三章细 致入微的说理一定会让你茅塞顿开。内容的组织更是别具匠心,每章开始部分一般性原 理的描述打破了知识的局限,将每个部分的全景展现在你面前。而针对每个知识点芯到 实处的独到分析,又会使你沉迷于知识的社会贯通之中。第三版对Linux 2.6 的全面描 述会使你为2.4 与2.6 之间的沟壑而感叹`但请放心,你曾从Linux 旧版本中荻取的点滴 依然是你前进的基石。总之,你面对的不再是赤裸裸的代码,而是真正能雅俗共赏的艺 术。 对整

2018-04-28

Spring源码深度解析

Spring 是于2003 年兴起的一个轻址级的Java 开源框架,由Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design 》中阐述的部分理念和原型衍生而来。Spring 是为了 解决企业应用开发的复杂性而创建的,它使用基本的JavaBean 来完成以前只可能由EJB 完成 的事情。然而, Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度 而言,任何Java 应用都可以从Spring 中受益。

2018-04-28

editplus5.0+注册码

2018年4月更新,editplus小巧便捷,还能远程连接并且编辑服务器上的资源。

2018-04-27

[分布式Java应用基础与实践].林昊【高清+章、节目录+可搜索+可编辑/复制/粘贴+无密码】

一、下载须知 1、------------》用于传播和交流思想 2、------------》章节目录 3、------------》已经进行解密处理,大多数PDF会进行加密以至于无法编辑 4、------------》高清 5、------------》可直接复制粘贴源码 6、------------》可搜索某一段内容 附注:本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。仅用于交流和传播思维模式。 二、目录预览 目录 前言... .. ......... ......................... . . ... ...... . .. ............. ......... .. .. .................... ... . .... ........ .. .. 1 第1 章分布式Java 应用.......... . . ....................... ..... .. .. ......... .. ...... .... . . . ... .. .... ... .. . 1 1.1 基千消息方式实现系统间的通信... ....................... .. . .. .. .. .. . ...................…............ .......... 3 1.1.1 基千Java 自身技术实现消息方式的系统间通信,…..........…………........... …·….3 l.1.2 基千开源框架实现消息方式的系统间通信…………....…·…... ……………....... …. 10 1.2 基于远程调用方式实现系统间的通信.....…... ………·…….... …………………·…·….... …..... 14 1.2.1 基千Java 自身技术实现远程调用方式的系统间通信, . .. .…………·…...... ... ….. 14 1.2.2 基千开源框架实现远程调用方式的系统间通信..…....…... …............... ……….. 17 第2 章大型分布式Java 应用与SOA ..... ......................................................... 23 2.1 基于SCA 实现SOA 平台·············· · ·· · ··.. . ........ .. . ...... . . ................................................. .26 2.2 基千ESB 实现SOA 平台... . . . ........................... .... .......... .. ......... . .. . .................. . . .. . ...... . .29 2.3 基千Tuscany 实现SOA 平台........ . .. . .. ......... .. . .. . ...... ...... .. .. .. . ..... . ...... .. .. .. . ....... . . .. .. . ..... .30 2.4 基千Mule 实现SOA 平台.. . . ..... .. . . . . ................... . . ..... . .. .. . .. .. ......... .... ....... .. . ...... . .. . ...... ..34 第3 章深入理解JVM ... ........................... .... ............................ .. ... ................... 39 3.1 Java 代码的执行机制............. ... .. .. . ... ........... ................. .... ..... .. . ...... .. .. . ................ ..... ... .40 3.1.l Java 源码编译机制.... . .......... . .. .. .. . . . .. ... ........................... . . ... ...... .. . .. . ...... .... . ....... 41 3.1.2 类加载机制.......... ........ .. .. .. . ......... .. . .......... ........................... . . . ......... ... ..... . . . .......44 3.1.3 类执行机制.. ....... . ..... ........... .. ...... .. . ................ .. .. .. .. ... .... ..... .. .. ........ . .. ...... ...... . . ..49 3 .2 JVM 内存管理. . . .. ..... .. . .. .................................. .. .. . .. . . .. ..... . ....... . ..... .. ....... . .... ... ..... . . ........63 罕Java 应思基础等实践 xiv 目录 3.2.1 内存空间... .. . . . .... ..... .. . .... ........ ................... . .... .................... .. . ... .. . ..... ............. .. . . 6. 3 3.2.2 内存分配..... .. ..... . ...... ... . ................ . . ..... ... ..... .. ..... ............ . ............ ... . ..... . ............65 3.2.3 内存回收 ........ ...................................... .... ...................... .. .................6 6 ................. 3.2.4 JVM 内存状况查看方法和分析工具..……..……........... . .. ...... . .................. .... 92 3.3 JVM 线程资源同步及交互机制... . . ... ... ... . ... .................................. . ............................ 100 3.3.1 线程资源同步机制... . .. ...... . . . .............................................. . ...... . ... .. . .. . . .......... .100 3.3.2 线程交互机制 ................................. ...... ....... . .. ...... .. .. ... .. ... ... .. ..... ... . ... . ... . ...... .. 1. 04 3.3 3 线程状态及分析.............. ....... ................. ..... ........ . ................. . .... ,........ . .........1. 05 第4 章分布式Java 应用与Sun JDK 类库......... ........ .. .. ….................... ......... 111 4.1 集合包..................................... ..... .. . ... . .. .. ............ .. . ... ................ ............ . .. .... . .. . ...... .....1. 12 4 1 I ArrayList. ........................................................................................................ ..1 13 4 1.2 LinkedList ............. , ........................................................... ····· ··· ····· ·· ···········.... ··1 16 4.1 .3 Vector .. .......... .............................. .......................... ............. ............................ .. 117 4 J .4 Stack .......... ......................... .. ............... ............................................................ 1. 18 4.1.5 HashSet ........................ ............................................................. ............. ......... ..1 19 4.1.6 TreeSet ............................................................................................................. 1. 20 4 1.7 HashMap ............................. .... .................................................... 1. 20 . . ............., ..... 4.1.8 TreeMap. .......................... 参...... .. .................. . . . .......... . . ... ..... . ..... .. ...... . ......... . .... ..1 23 4.1.9 性能测试.............. . . ... .. . . .. . ... . .. . ...... ...... .... . .......... . . . . ......... . ... .. ........ ....... . .. . . ..... ..124 4.1.10 /j、结··· ···" ........................................................... ...... ......................................1. 1. 8 4.2 并发包 (java.util.concurrent) .................... .. ........... .. ...... ..................................... .... 1. 38 4.2.1 ConcurrentHashMap ................................................................ ..1 39 4.2.2 CopyOnWriteArrayList ................................................................................... 1. 45 4.2.3 CopyOnWriteArraySet ............................................. .. 149 ............. ... ........ .. ... 4.2.4 ArrayBlockingQueue ............. .... ................................... .................................... 149 4.2.5 Atomiclnte.......g...... ..........e.... ..........r....... ....•...... ... .. ................................... ·.. 1· 51 4.2.6 ThreadPoolExecutor .. ........................ .................................................... · ··.. · ··... 153 4.2.7 Executors ............................. ..... .. ............................ ........ ................ ...... ..1 57 分布式Java 应房..基酚与实践 自录xv 4.2.8 FutureTask ........... ......、............. .. ..... .......... .. .............. . .... .................................. 158 4.2.9 Semaphore ...................... .................................................................................. 161 4.2. l O CountDownLatch ....................... ................................. ................................... 162 4.2.11 CyclicBarrier ...................................... ........ ............ ......................... ............... 163 4.2.12 ReentrantLock .................. .............................................................................. 163 4.2.13 Cond1t1on ........................................................................................................ 164 4.2.14 ReentrantReadWriteLock ............................................................................... 165 4.3 序列化/反序列化................ . . .......... .. .. . .. ... .. .. . . . . . .... .... . .. ......... . ........................ . .. . .. . .. ...167 4.3.1 序列化............... ... ... . . .. ....... . .... ... .. .... ................. .... ... .. . . .. .. ... . ... .. . ... .. .. . ...... . ....... 167 4.3.2 反序列化.... ... . ........ . ........... . ........... . ... .. . . . ............... . .... ....... . .... . .. .. ... .. .. . ............169 第5 章性能调优... ... ... . . .. . . ... . ................. . .......... .. . . ... . ..... .. . . ... . ............ . ... . .. .. . .. 173 5.1 寻找性能瓶颈···· ····· ·· ..······ ···········... ·······································.. ····· ··········... ·········.. ······175 5.1.1 CPU 消耗分析....... . .............. . .. .. . ... .. .. .. . ... . ........ ..... . . .. ............. .. ..... ... ........ . ......175 5.1.2 文件IO 消耗分析,· · ··· · ·················· · ..···················································............. 182 5.1.3 网络10 消耗分析, · ······ ·· · ···· · · ······ ··· · ····· ···· ··· ··· ·· · · ························· · · · "······ · ·· · · · ····186 5.1.4 内存消耗分析··· ··········· ···· · ······· ······················ · ···········...................................... 187 5.1.5 程序执行慢原因分析.. . ........ .................... .. . . .... . ........ .. ............. . . . .... ...... . . ........19! 5.2 调优............................ ............................................. . ............................. . .... .. . . .. ... . . . . . ...192 5.2.I NM 调优..... ........ . . .. . . .... . . . ... . . . . . .... . .. . . . .... . ............ . ........ . ....... . .......................... 192 S.2.2 程序调优··· · · ······· ········ ············ · ·············· ································· · ···· · ······· · · ···········202 5.2.3 对千资源消耗不多, 但程序执行慢的情况...…....…………... …….. …... …….... 214 第6 章构建高可用的系统.. . .. .. .. ....... . ......... .. .. . .. . . . .. ........... . ................ . .. . . .. ... .. 227 6.1 避免系统中出现单点············· ·· ·· ···· · ····· · ·························· · ································· ···· · ··· · ·228 6.1.1 负载均衡技术···· ········ · ·· ··· · · ······ ··· · ··· · ············· · ···· · ······ · · · ···················· ·· · ·· · ·· · · · ·· · · ·228 6.1.2 热备········· ··········································· ··········· ············································· ·····236 6.2 提高应用自身的可用性... . . . . ....................................... . . .. .. ..... .... . ....... .................. .... . ..238 6.2.) 尽可能地避免故障··········· · ·· · · ·· ······ ·· · ················· · ...... . ..... ..................... .. ... .... ...239 6.2.2 及时发现故障· · ·········· ··········· · ···· · · ·········· .. ............................ . .... ....... . .............. 246 分布式Java 应思基础与实践 xvi 吕录 6.2.3 及时处理故院........................ . ......... ... .......... . ... . ....... . . . .......... . ..... . ........... .. ..... .248 6.2.4 访问量及数据量不断上涨的应对策略…… ...... .. ........…..... ……... ……….. …….. 249 第7 章构建可伸缩的系统· ···· ··· · ··· ········· ·· · · ···················· · · ······ · ···· · ·········· · ··· · ····251 7.1 垂直伸缩····················· ··· ·· ·· · ········· ·· ··...·........................................................................ 252 7.1.1 支撑商访问量................................. . . ... .. . ......... . ....... . ...... . .. .. ..... . ..................... .252 7.1.2 支撑大数据量.... . .. ...... . ......................................... . ......................................... .254 7.1.3 提升计算能力.... . .............. .... ........ ...... . ......... .. ........................... .. . ....... . .. . ........254 7.2 水平伸缩...................................................... . ...... . .. . ................... . .... . ............................254 7.2.l 支撑高访问焦............................................... . ........ . ...... . .... .. ......... . . ...... .. .. . ......254 7.2.2 支撑大数据量....................... .. ......... ... ...................... ...................... . ......... . ......264 7.2.3 提升计算能力.. ........ .. ........ .. .. . ....................... ... . .. ............................................266

2018-05-03

[现代编译原理C语言描述].(美国)Andrew.W.Appel【高清+章、节目录+可搜索+可编辑/复制/粘贴+无密码】

一、下载须知 1、------------》用于传播和交流思想 2、------------》章节目录 3、------------》已经进行解密处理,大多数PDF会进行加密以至于无法编辑 4、------------》高清 5、------------》可直接复制粘贴源码 6、------------》可搜索某一段内容 附注:本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。仅用于交流和传播思维模式。 二、目录预览 目录 第一部分编译基本原理 第1 章绪论. . . . . . . . . . . . . . . . . . . . . . .. ... . . . . . . . . . . . . I l. l 模块与接口................................. l I. 2 T具和软件................................. 3 I. 3 树语言的数据结构........................ 3 程序设计:直线式程序解释器…………… 7 推荐阅读.......................................... 9 习题................................................ 9 第2 章词法分析.............................. 10 2. I 词法单词................................. 10 2.2 正则表达式·· · · · · · · · · · · · · · · ·· ·· · · · · · ·· · · ·11 2.3 有限自动机.............................. 13 2.4 非确定有限自动机………………… 15 2.4. 1 将正则表达式转换为NFA … 16 2.4. 2 将NFA 转换为DFA ………… 18 2. 5 Lex: 词法分析器的生成器………... 20 程序设计:词法分析........................... 22 推荐阅读.......................................... 23 习题................................................ 23 第3 章语法分析······························27 3. I 上下文无关文法......... …............ 28 3. I. I 推导·································29 3. I. 2 语法分析树························29 3. I. 3 二义性文法........................ 30 3. I. 4 文件结束符........................ 31 3.2 预测分析................................. 32 3. 2. I ARST 集合和FO旦DW 集合… 33 3.2.2 构造一个预测分析器………… 35 3. 2. 3 消除左递归························36 3.2.4 提取左因子························37 3.2.5 错误恢复···························37 3.3 LR 分析····································39 3.3.1 LR 分析弓1 擎..................... 40 3.3.2 LR(O) 分析器生成器………… 41 3. 3. 3 SLR 分析器的生成…………… 44 3.3.4 LR(I) 项和LR(I) 分析表…… 45 3.3.5 LALR(l) 分析表...... …...... 46 3.3.6 各类文法的层次.. …· ………… 47 3.3. 7 二义性文法的LR 分析……… 47 3.4 使用分析器的生成器……………… 48 3. 4. l 冲突................................. 49 3.4.2 优先级指导........................ 50 3. 4. 3 语法和语义........................ 53 3. 5 错误恢复................................. 54 3.5. 1 用error 符号恢复…………... 54 3.5.2 全局错误修复......... …......... 55 程序设计:语法分析……………………… 57 推荐阅读.......................................... 58 习题................................................ 58 第4 章抽象语法........................ …... 62 4. 1 语义动作................................. 62 4. 1. 1 递归下降........................... 62 4. 1. 2 Yacc 生成的分析器………… 62 4. 1. 3 语义动作的解释器…………... 64 4.2 抽象语法分析树…………………… 65 4.2. l 位置................................. 67 4. 2. 2 Tiger 的抽象语法…………… 68 程序设计:抽象语法............... …......... 71 推荐阅读.......................................... 71 习题................................................ 72 第5 章语义分析.............................. 73 5. l 符号表.................................... 73 5. 1. I 多个符号表........................ 74 5. I. 2 高效的命令式风格符号表…… 75 5. 1. 3 高效的函数式符号表………… 76 5. 1. 4 Tiger 编译器的符号·……….. 77 5. 1. 5 函数式风格的符号表………… 79 5. 2 Tiger 编译器的绑定………………… 79 5.3 表达式的类型检查………………… 82 5.4 声明的类型检查…………………… 84 5.4. 1 变量声明···························84 5.4.2 类型声明........................... 85 5.4.3 函数声明···························85 2 目录 5.4.4 递归声明···························86 程序设计:类型检查.................. …...... 87 习题················································87 第6 章活动记录.............................. 89 6. 1 栈帧....................................... 90 6. I. I 帧指针.............................. 91 6. I. 2 寄存器.............................. 92 6. I. 3 参数传递···························92 6. I. 4 返回地址···························94 6. I. 5 栈帧内的变量..................... 94 6. I. 6 静态链·····················"·"····95 6. 2 Tiger 编译器的栈帧·…….. ………... 96 6. 2. I 栈帧描述的表示·…...…... ….. 98 6.2.2 局部变量........................... 98 6.2.3 计算逃逸变量···········"0""00••·99 6.2.4 临时变抵和标号…………... 100 6.2.5 两层抽象········................ 100 6.2.6 管理静态链..................... 102 6.2. 7 追踪层次信息··················102 程序设计:栈帧······························103 推荐阅读·······································103 习题·············································103 第7 章翻译成中间代码……………... 106 7. l 中间表示树······························106 7.2 翻译为树中间语言………………… 108 7. 2. I 表达式的种类……………… 108 7.2.2 简单变量· · · · · · · · · · · ·..... · · · · · · ·111 7.2.3 追随静态链············…······112 7. 2.4 数组变措· · · · · · · · · · · · ·....... · · · ·113 7.2.5 结构化的左值……………… 114 7. 2.6 下标和域选择... ···············114 7.2. 7 关千安全性的劝告………... 115 7. 2. 8 算术操作························116 7.2.9 条件表达式......... ······ ······116 7. 2. 10 字符串···························117 7. 2. 11 记录和数组的创建………… 118 7. 2. 12 while 循环·····················119 7. 2. 13 for 循环························119 7.2. 14 函数调用························120 7.3 声明·······································120 7. 3. I 变扯定义························120 7.3. 2 函数定义························120 7.3. 3 片段............... ·········...... 121 程序设计:翻译成树…………………… 122 习题.......................................... , .. 123 第8 章基本块和轨迹…………......… 125 8. 1 规范树····································126 8. I. 1 ESEQ 的转换.................. 126 8. 1. 2 一般重写规则.................. 126 8. 1. 3 将CALL 移到顶层…...…… 130 8. 1. 4 线性语句表..................... 131 8.2 处理条件分支···························131 8.2. 1 基本块........................... 131 8. 2.2 轨迹.............................. 132 8. 2. 3 完善.............................. 133 8.2.4 最优轨迹························133 推荐阅读·······································134 习题.:........................................... 134 第9 章指令选择.............................. 136 9. l 指令选择算法今.............. …......... 138 9. I. I Maximal Munch 算法·…….. 138 9. I. 2 动态规划························140 9. I. 3 树文法···························141 9. I. 4 快速匹配························143 9. I. 5 覆盖算法的效率……·…….. 143 9. 2 CISC 机器.............................. 144 9. 3 Tiger 编译器的指令选择………... 146 9.3. I 抽象的汇编语言指令……... 146 9.3.2 生成汇编指令……………... 148 9.3.3 过程调用........................ 151 9.3.4 无帧指针的情形…………... 151 程序设计:指令选择…... …... ………… 152 推荐阅读....................................... 153 习题·············································154 第IO 章活跃分析........................... 155 10. I 数据流方程的解·…….. …... …... 156 10. 1. I 活跃性计算..................... 156 10. I. 2 集合的表示... …............... 158 10. I. 3 时间复杂度..................... 158 10. I. 4 最小不动点..................... 159 10. I. 5 静态活跃性与动态活跃性... 160 10. I. 6 冲突图........................... 161 10. 2 Tiger 编译器的活跃分析…..……·162 10. 2. l 图·································162 10.2.2 控制流图························163 10.2.3 活跃分析························164 程序设计:构造流图……... …….. ……·164 程序设计:活跃分析模块………..……·165 习题............................................. 165 第11 章寄存器分配......……………… 166 11. 1 通过简化进行着色…………·….. 166 11. 2 合并.........., ......................... 168 11. 3 预着色的结点... ······............... 171 11. 3. l 机器寄存器的临时副本…… 171 11. 3. 2 调用者保护的寄存器和 被调用者保护的寄存器·….. 172 11. 3. 3 含预着色结点的例子.....…·172 11. 4 图着色的实现........................ 175 11. 4. l 传送指令工作表的管理…… 176 11. 4. 2 数据结构…......... ……...... 176 11. 4. 3 程序代码........................ 177 11. 5 针对树的寄存器分配…………… 181 程序设计:图着色……······…············184 推荐阅读....................................... 185 习题............................................. 185 第12 章整合为一体·····················… 188 程序设计:过程入口/出口……………… 189 程序设计:创建一个可运行的编译器… 191 第二部分高级主题 第13 章垃圾收集························… 193 13. 1 标记-清扫式收集………………... 194 13.2 弓I 用计数······························197 13.3 复制式收集···························198 13.4 分代收集······························201 13. 5 增量式收集··············· ……...... 203 13. 6 Baker 算法······························205 13. 7 编译器接口···························205 13. 7. I 快速分配........................ 205 13. 7.2 数据布局的描述…………… 206 13. 7.3 导出指针........................ 207 程序设计:描述字......... …... …......... 208 程序设计:垃圾收集…………………… 208 推荐阅读....................................... 208 习题·············································210 第14 章面向对象的语言……………… 211 14. I 类....................................... 211 14.2 数据域的单继承性……………… 213 目录3 14.3 多继承·································214 14.4 测试类成员关系.…..... ………... 216 14.5 私有域和私有方法………·…….. 218 14.6 无类语言.............................. 219 14. 7 面向对象程序的优化·………….. 219 程序设计: OBJECT-Tiger ………·…….. 220 推荐阅读..........................暑............ 220 习题............................................. 221 第15 章函数式程序设计语言………... 222 15. 1 一个简单的函数式语言………… 222 15.2 闭包····································224 15.3 不变的变量...... …······ …......... 225 15. 3. l 基于延续的1/0 …………... 226 15.3.2 语言上的变化·….. …·…..... 227 15.3. 3 纯函数式语言的优化……... 228 15.4 内联扩展······························229 15.5 闭包变换······························233 15.6 高效的尾递归........................ 235 15. 7 懒惰计算······························236 15. 7. 1 传名调用计算………... …... 237 15. 7.2 按需调用........................ 238 15. 7.3 懒惰程序的计算·………….. 239 15. 7.4 懒惰函数式程序的优化…... 239 15. 7.5 严格性分析…······ …......... 241 推荐阅读·······································243 程序设计:编译函数式语言…………... 244 习题............................................. 244 第16 章多态类型……·················…·246 16. I 参数多态性........................... 246 16. I. I 显式带类型的多态语言…... 247 16. I. 2 多态类型的检查·………….. 248 16.2 类型推论······························253 16.2. I 一个隐式类型的多态语言... 254 16.2.2 类型推论算法…... ………... 255 16.2.3 递归的数据类型.. ….... …... 257 16. 2. 4 Hindley-Milner 类型的能力… 259 16.3 多态变量的表示………………... 259 16. 3. I 多态函数的扩展·………….. 260 16.3.2 完全的装箱转换·………….. 261 16. 3. 3 基于强制的表示分析..……·262 16.3.4 将类型作为运行时参数 传递······························264 16.4 静态重载的解决方法·………….. 265 4 目录 推荐阅读....................................... 266 习题·············································266 第17 章数据流分析…………………… 269 17. I 流分析使用的中间表示………… 270 17.2 各种数据流分析……... ………... 271 17. 2. I 到达定值························271 17.2.2 可用表达式............……... 273 17.2.3 到达表达式··············· …... 274 17.2.4 活跃分析…············ …...... 274 17.3 使用数据流分析结果的儿种 转换·························--·········274 17. 3. I 公共子表达式删除………... 274 17.3.2 常数传播...…··················275 17.3. 3 复写传播························275 17. 3. 4 死代码删除·····················275 17.4 加快数据流分析……...………… 276 17. 4. I 位向量···························276 17.4.2 基本块···························276 17.4.3 结点排序························277 17.4.4 使用-定值链和定值- 使用链···························277 17.4.5 工作表算法············ …...... 278 17.4.6 增蜇式数据流分析……·….. 278 17.5 别名分析······························281 17. 5. I 基于类型的别名分析·…….. 282 17.5.2 基于流的别名分析………... 283 17.5.3 使用可能别名信息………... 284 17.5.4 严格的纯函数式语言中的 别名分析························285 推荐阅读....................................... 285 习题·············································285 第18 章循环优化···························287 18. I 必经结点······························289 18. I. I 寻找必经结点的算法……... 289 18. I. 2 直接必经结点············ …... 289 18. I. 3 循环······························290 18. 1. 4 循环前置结点……………... 291 18.2 循环不变量计算…...…………… 292 18.3 归纳变量··················--··········293 18. 3. I 发现归纳变量…...………… 294 18.3.2 强度削弱........................ 295 18.3.3 删除······························296 18. 3.4 重写比较... …············ …… 296 18.4 数组边界检查························297 18.5 循环展开······························300 推荐阅读·······································301 习题·············································301 第19 章静态单赋值形式……………… 303 19. 1 转化为SSA 形式………………… 305 19. 1. 1 插人中函数的标准………… 306 19. 1. 2 必经结点边界... ………... … 306 19. 1. 3 插人中函数..................... 308 19. 1. 4 变量重命名............ …...... 309 19. 1. 5 边分割........................... 310 19.2 必经结点树的高效计算………… 310 19. 2. 1 深度优先生成树…·……….. 310 19.2.2 半必经结点… ···········--·····311 19. 2. 3 Lengauer-Tarjan 算法…·….. 312 19.3 使用SSA 的优化算法………·….. 315 19. 3. 1 死代码删除..................... 315 19.3.2 简单的常数传播…………… 316 19.3.3 条件常数传播......... …...... 317 19.3.4 保持必经结点性质………… 319 19.4 数组、指针和存储器…………… 320 19.5 控制依赖图........................... 321 19.6 从SSA 形式转变回来…………… 323 19. 7 函数式中间形式…······………… 324 推荐阅读·······································327 习题·············································328 第20 章流水和调度…………………… 331 20. 1 没有资源约束时的循环调度..…·332 20.2 有资源约束的循环流水……..…·336 20.2. 1 模调度···························337 20.2.2 寻找最小的启动间距……… 338 20.2.3 其他控制流·····················340 20.2.4 编译器应该调度指令吗..…·340 20.3 分支预测······························341 20.3. 1 静态分支预测...…………… 342 20.3.2 编译器应该预测分支吗..…·342 推荐阅读....................................... 343 习题·············································343 第21 章存储层次…........................ 346 21. I cache 的组织结构················--… 346 21. 2 cache 块对齐........................... 349 21. 3 预取.................................... 350 21. 4 循环交换.............................. 354 目录5 21. 5 分块··········· 参..金·····················355 附录Tiger 语言参考手册…....………….. 360 21. 6 垃圾收集和存储层次…·……….. 357 参考文献.......................................... 368 推荐阅读·······································358 索弓I················································376 习题·············································358

2018-05-03

Windows程序设计(第五版)【高清+章节目录+可搜索+可编辑/复制/粘贴+无密码】

一、下载须知 1、------------》用于传播和交流思想 2、------------》章节目录 3、------------》已经进行解密处理,大多数PDF会进行加密以至于无法编辑 4、------------》高清 5、------------》可直接复制粘贴源码 6、------------》可搜索某一段内容 附注:本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。仅用于交流和传播思维模式。 二、全部目录如下 目 录 第一章 开始......................................................................................................................................1 WINDOWS环境.............................................................................................................................1 Windows 简史..............................................................................................................................2 Windows方面..............................................................................................................................3 动态连结.......................................................................................................................................5 WINDOWS程式设计选项.............................................................................................................6 API 和记忆体模式.......................................................................................................................7 语言选项.......................................................................................................................................8 程式开发环境...............................................................................................................................9 API 文件.....................................................................................................................................10 编写第一个WINDOWS程式......................................................................................................10 文字模式(Character-Mode)模型..........................................................................................10 同样效果的Windows 程式....................................................................................................... 11 表头档案.....................................................................................................................................12 程式进入点.................................................................................................................................13 MessageBox 函式.......................................................................................................................14 编译、连结和执行.....................................................................................................................15 第二章 UNICODE 简介................................................................................................................17 字元集简史....................................................................................................................................17 美国标准.....................................................................................................................................18 国际方面.....................................................................................................................................19 扩展ASCII .................................................................................................................................20 双位元组字元集.........................................................................................................................22 Unicode 解决方案......................................................................................................................22 宽字元和C ....................................................................................................................................23 char 资料型态.............................................................................................................................24 宽字元.........................................................................................................................................24 宽字元程式库函式.....................................................................................................................25 维护单一原始码.........................................................................................................................27 宽字元和WINDOWS ...................................................................................................................28 Windows表头档案类型............................................................................................................28 Windows 函式呼叫....................................................................................................................30 Windows 的字串函式................................................................................................................31 在Windows 中使用printf..........................................................................................................31 格式化讯息方块.........................................................................................................................33 本书与国际化.............................................................................................................................34 第三章 视窗和讯息........................................................................................................................36 自己的视窗....................................................................................................................................36 总体结构.....................................................................................................................................36 HELLOWIN程式.......................................................................................................................38 通盘考量.....................................................................................................................................41 Windows 函式呼叫....................................................................................................................41 Programming Windows 程式开发设计指南(Windows95 程序设计 第五版) 第 2 页 大写字母识别字.........................................................................................................................42 新的资料型态.............................................................................................................................43 代号简介.....................................................................................................................................44 匈牙利表示法.............................................................................................................................44 注册视窗类别.............................................................................................................................46 建立视窗.....................................................................................................................................51 显示视窗.....................................................................................................................................53 讯息回圈.....................................................................................................................................54 视窗讯息处理程式.....................................................................................................................55 处理讯息.....................................................................................................................................56 播放音效档案.............................................................................................................................57 WM_PAINT 讯息.......................................................................................................................57 WM_DESTROY讯息................................................................................................................59 WINDOWS程式设计的难点.......................................................................................................60 别呼叫我,我会呼叫您.............................................................................................................60 伫列化讯息与非伫列化讯息.....................................................................................................61 行动迅速.....................................................................................................................................63 第四章 输出文字............................................................................................................................64 绘制和更新....................................................................................................................................64 WM_PAINT 讯息.......................................................................................................................65 有效矩形和无效矩形.................................................................................................................66 GDI 简介........................................................................................................................................66 装置内容.....................................................................................................................................67 取得装置内容代号:方法一.....................................................................................................67 绘图资讯结构.............................................................................................................................68 取得装置内容代号:方法二.....................................................................................................71 TextOut:细节............................................................................................................................71 系统字体.....................................................................................................................................73 字元大小.....................................................................................................................................74 文字大小:细节.........................................................................................................................75 格式化文字.................................................................................................................................76 综合使用.....................................................................................................................................77 SYSMETS1.C视窗讯息处理程式............................................................................................84 空间不够.....................................................................................................................................85 显示区域的大小.........................................................................................................................86 卷动列............................................................................................................................................87 卷动列的范围和位置.................................................................................................................88 卷动列讯息.................................................................................................................................90 在SYSMETS中加入卷动功能.................................................................................................92 绘图程式的组织.........................................................................................................................96 建立更好的滚动............................................................................................................................97 卷动列资讯函式.........................................................................................................................97 卷动范围.....................................................................................................................................99 新SYSMETS............................................................................................................................100 不用滑鼠怎么办.......................................................................................................................106 Programming Windows 程式开发设计指南(Windows95 程序设计 第五版) 第 3 页 第五章 图形基础..........................................................................................................................107 GDI 的结构..................................................................................................................................107 GDI 原理...................................................................................................................................107 GDI 函式呼叫...........................................................................................................................109 GDI 基本图形........................................................................................................................... 110 其他部分................................................................................................................................... 110 装置内容...................................................................................................................................... 111 取得装置内容代号................................................................................................................... 111 取得装置内容资讯................................................................................................................... 113 DEVCAPS1程式..................................................................................................................... 114 装置的大小............................................................................................................................... 117 关於色彩...................................................................................................................................123 装置内容属性...........................................................................................................................124 保存装置内容...........................................................................................................................126 画点和线......................................................................................................................................127 设定图素...................................................................................................................................127 直线...........................................................................................................................................128 边界框函式...............................................................................................................................133 贝塞尔曲线...............................................................................................................................139 使用现有画笔(Stock Pens).................................................................................................144 画笔的建立、选择和删除.......................................................................................................145 填入空隙...................................................................................................................................148 绘图方式...................................................................................................................................148 绘制填入区域..............................................................................................................................150 Polygon函式和多边形填入方式............................................................................................151 用画刷填入内部.......................................................................................................................155 GDI 映射方式..............................................................................................................................157 装置座标和逻辑座标...............................................................................................................159 装置座标系...............................................................................................................................159 视埠和视窗...............................................................................................................................160 处理MM_TEXT......................................................................................................................162 「度量」映射方式...................................................................................................................164 「自行决定」的映射方式.......................................................................................................168 MM_ISOTROPIC映射方式....................................................................................................168 MM_ANISOTROPIC:根据需要放缩图像...........................................................................171 WHATSIZE程式......................................................................................................................172 矩形、区域和剪裁......................................................................................................................176 矩形函式...................................................................................................................................176 随机矩形...................................................................................................................................177 建立和绘制剪裁区域...............................................................................................................181 矩形与区域的剪裁...................................................................................................................183 CLOVER 程式..........................................................................................................................184 第六章 键盘..................................................................................................................................189 键盘基础......................................................................................................................................189 忽略键盘...................................................................................................................................189 Programming Windows 程式开发设计指南(Windows95 程序设计 第五版) 第 4 页 谁获得了焦点...........................................................................................................................190 伫列和同步...............................................................................................................................191 按键和字元...............................................................................................................................191 按键讯息......................................................................................................................................192 系统按键与非系统按键...........................................................................................................192 虚拟键码...................................................................................................................................193 lParam资讯..............................................................................................................................197 重复计数...................................................................................................................................197 OEM 扫描码.............................................................................................................................197 扩充键旗标...............................................................................................................................198 内容代码...................................................................................................................................198 键的先前状态...........................................................................................................................198 转换状态...................................................................................................................................198 位移状态...................................................................................................................................198 使用按键讯息...........................................................................................................................199 为SYSMETS加上键盘处理功能...........................................................................................200 字元讯息......................................................................................................................................208 四类字元讯息...........................................................................................................................208 讯息顺序...................................................................................................................................209 处理控制字元........................................................................................................................... 211 死字元讯息............................................................................................................................... 211 键盘讯息和字元集......................................................................................................................212 KEYVIEW1 程式.....................................................................................................................212 外语键盘问题...........................................................................................................................218 字元集和字体..............................................................................................................................220 Unicode 怎么样?....................................................................................................................231 TrueType 和大字体..................................................................................................................232 插入符号(不是游标)..............................................................................................................239 插入符号函式...........................................................................................................................239 TYPER程式.............................................................................................................................240 第三章 滑鼠..................................................................................................................................248 滑鼠基础......................................................................................................................................248 一些简单的定义.......................................................................................................................249 滑鼠(Mouse)的复数.................................................................................................................250 显示区域滑鼠讯息......................................................................................................................250 简单的滑鼠处理:一个例子...................................................................................................252 处理Shift 键.............................................................................................................................256 双击滑鼠按键...........................................................................................................................257 非显示区域滑鼠讯息..................................................................................................................258 命中测试讯息...........................................................................................................................259 从讯息产生讯息.......................................................................................................................260 程式中的命中测试......................................................................................................................261 一个假想的例子.......................................................................................................................261 范例程式...................................................................................................................................262 使用键盘模拟滑鼠...................................................................................................................265 Programming Windows 程式开发设计指南(Windows95 程序设计 第五版) 第 5 页 在CHECKER中加入键盘介面..............................................................................................266 将子视窗用於命中测试...........................................................................................................271 CHECKER 中的子视窗...........................................................................................................271 子视窗和键盘...........................................................................................................................276 拦截滑鼠......................................................................................................................................282 设计矩形...................................................................................................................................282 拦截的解决方案.......................................................................................................................286 BLOKOUT2程式.....................................................................................................................287 滑鼠滑轮......................................................................................................................................290 下面还有...................................................................................................................................299 第八章 计时器..............................................................................................................................300 计时器入门..................................................................................................................................300 系统和计时器...........................................................................................................................301 计时器讯息不是非同步的.......................................................................................................301 计时器的使用:三种方法..........................................................................................................302 方法一.......................................................................................................................................302 方法二.......................................................................................................................................306 方法三.......................................................................................................................................309 计时器用於时钟..........................................................................................................................310 建立数位时钟...........................................................................................................................310 取得目前时间...........................................................................................................................315 显示数字和冒号.......................................................................................................................315 国际化.......................................................................................................................................316 建立类比时钟...........................................................................................................................317 以计时器进行状态报告..............................................................................................................323 第九章 子视窗控制项..................................................................................................................327 按钮类别......................................................................................................................................328 建立子视窗...............................................................................................................................332 子视窗向父视窗发讯息...........................................................................................................334 父视窗向子视窗发送讯息.......................................................................................................335 按键...........................................................................................................................................336 核取方块...................................................................................................................................337 单选按钮...................................................................................................................................338 分组方块...................................................................................................................................338 改变按钮文字...........................................................................................................................338 可见的和启用的按钮...............................................................................................................339 按钮和输入焦点.......................................................................................................................339 控制项与颜色..............................................................................................................................340 系统颜色...................................................................................................................................341 按钮颜色...................................................................................................................................342 WM_CTLCOLORBTN讯息...................................................................................................343 拥有者绘制按钮.......................................................................................................................344 静态类别......................................................................................................................................350 卷动列类别..................................................................................................................................352 COLORS1 程式........................................................................................................................353 Programming Windows 程式开发设计指南(Windows95 程序设计 第五版) 第 6 页 自动键盘介面...........................................................................................................................360 视窗子类别化(Window Subclassing).................................................................................360 给背景著色...............................................................................................................................361 给卷动列和静态文字著色.......................................................................................................362 编辑类别......................................................................................................................................363 编辑类别样式...........................................................................................................................365 编辑控制项通知.......................................................................................................................366 使用编辑控制项.......................................................................................................................367 发送给编辑控制项的讯息.......................................................................................................367 清单方块类别..............................................................................................................................368 清单方块样式...........................................................................................................................369 将字串放入清单方块...............................................................................................................369 选择和取得项...........................................................................................................................370 接收来自清单方块的讯息.......................................................................................................372 一个简单的清单方块应用程式...............................................................................................372 档案列表...................................................................................................................................376 使用档案属性码.......................................................................................................................377 档案列表的排序.......................................................................................................................377 Windows 的head 程式.............................................................................................................378 第十章 功能表及其他资源..........................................................................................................384 图示、游标、字串和自订资源..................................................................................................384 将图示添加到程式...................................................................................................................385 取得图示代号...........................................................................................................................390 在程式中使用图示...................................................................................................................392 使用自订游标...........................................................................................................................393 字串资源...................................................................................................................................394 自订的资源...............................................................................................................................396 功能表..........................................................................................................................................404 功能表概念...............................................................................................................................404 功能表结构...............................................................................................................................405 定义功能表...............................................................................................................................405 在程式中引用功能表...............................................................................................................406 功能表和讯息...........................................................................................................................407 范例程式...................................................................................................................................409 功能表设计规范.......................................................................................................................415 较难的一种功能表定义方法...................................................................................................415 浮动突现式功能表...................................................................................................................417 使用系统功能表.......................................................................................................................422 改变功能表...............................................................................................................................425 其他功能表命令.......................................................................................................................425 建立功能表的非正统方法.......................................................................................................427 键盘加速键..................................................................................................................................431 为什么要使用加速键...............................................................................................................431 安排加速键的几条规则...........................................................................................................432 加速键表...................................................................................................................................433 Programming Windows 程式开发设计指南(Windows95 程序设计 第五版) 第 7 页 加速键表的载入.......................................................................................................................433 键盘代码转换...........................................................................................................................433 接收加速键讯息.......................................................................................................................434 功能表与加速键应用程式POPPAD.......................................................................................435 启用功能表项...........................................................................................................................442 处理功能表项...........................................................................................................................442 第十一章 对话方块......................................................................................................................445 模态对话方块..............................................................................................................................445 建立「About」对话方块.........................................................................................................446 对话方块及其模板...................................................................................................................450 对话方块程序...........................................................................................................................453 启动对话方块...........................................................................................................................454 不同的主题...............................................................................................................................455 更复杂的对话方块...................................................................................................................458 使用对话方块控制项...............................................................................................................465 「OK」和「Cancel」按钮......................................................................................................468 避免使用整体变数...................................................................................................................469 Tab 停留和分组........................................................................................................................470 在对话方块上画图...................................................................................................................472 将其他函式用於对话方块.......................................................................................................473 定义自己的控制项...................................................................................................................473 非模态对话方块..........................................................................................................................480 模态对话方块与非模态对话方块的区别...............................................................................481 新的COLORS程式.................................................................................................................483 HEXCALC:视窗还是对话方块?........................................................................................488 通用对话方块..............................................................................................................................496 增强POPPAD...........................................................................................................................496 Unicode 档案I/O......................................................................................................................518 改变字体...................................................................................................................................519 搜寻与替换...............................................................................................................................520 只呼叫一个函式的Windows 程式.........................................................................................520 第十二章 剪贴簿..........................................................................................................................523 剪贴簿的简单使用......................................................................................................................523 标准剪贴簿资料格式...............................................................................................................523 记忆体配置...............................................................................................................................525 将文字传送到剪贴簿...............................................................................................................527 从剪贴簿上取得文字...............................................................................................................528 打开和关闭剪贴簿...................................................................................................................529 剪贴簿和Unicode....................................................................................................................529 复杂的剪贴簿用法......................................................................................................................535 利用多个资料项目...................................................................................................................536 延迟提出...................................................................................................................................537 自订资料格式...........................................................................................................................538 实作剪贴簿浏览器......................................................................................................................541 剪贴簿浏览器链.......................................................................................................................541 Programming Windows 程式开发设计指南(Windows95 程序设计 第五版) 第 8 页 剪贴簿浏览器的函式和讯息...................................................................................................541 一个简单的剪贴簿浏览器.......................................................................................................544 第十三章 使用印表机..................................................................................................................548 列印入门......................................................................................................................................548 列印和背景处理.......................................................................................................................549 印表机装置内容.......................................................................................................................553 修改後的DEVCAPS程式......................................................................................................555 PrinterProperties呼叫...............................................................................................................566 检查BitBlt支援.......................................................................................................................567 最简单的列印程式...................................................................................................................568 列印图形和文字..........................................................................................................................569 列印的基本程序.......................................................................................................................573 使用放弃程序来取消列印.......................................................................................................574 Windows如何使用AbortProc.................................................................................................575 实作放弃程序...........................................................................................................................576 增加列印对话方块...................................................................................................................578 为POPPAD增加列印功能......................................................................................................583 第十四章 点阵图和BITBLT.......................................................................................................590 点阵图入门..................................................................................................................................590 点阵图的来源...........................................................................................................................591 点阵图尺寸..................................................................................................................................591 颜色和点阵图...........................................................................................................................592 实际的设备...............................................................................................................................593 GDI 支援的点阵图...................................................................................................................596 位元块传输..................................................................................................................................597 简单的BitBlt............................................................................................................................597 拉伸点阵图...............................................................................................................................601 StretchBlt模式.........................................................................................................................605 位元映射操作...........................................................................................................................605 图案Blt.....................................................................................................................................608 GDI 点阵图物件..........................................................................................................................610 建立DDB.................................................................................................................................610 点阵图位元...............................................................................................................................613 记忆体装置内容.......................................................................................................................614 载入点阵图资源.......................................................................................................................615 单色点阵图格式.......................................................................................................................619 点阵图中的画刷.......................................................................................................................622 绘制点阵图...............................................................................................................................624 阴影点阵图...............................................................................................................................629 在功能表中使用点阵图...........................................................................................................634 非矩形点阵图图像...................................................................................................................648 简单的动画...............................................................................................................................653 视窗外的点阵图.......................................................................................................................657 第十五章 与装置无关的点阵图...................................................................................................669 Programming Windows 程式开发设计指南(Windows95 程序设计 第五版) 第 9 页 DIB档案格式..............................................................................................................................669 OS/2样式的DIB......................................................................................................................670 由下而上...................................................................................................................................673 DIB图素位元...........................................................................................................................673 扩展的Windows DIB...............................................................................................................674 真实检查...................................................................................................................................677 DIB压缩...................................................................................................................................679 颜色遮罩(COLOR MASKING)....................................................................................................681 第4 版本的Header ..................................................................................................................684 第5 版的Header ......................................................................................................................688 显示DIB资讯..........................................................................................................................690 显示和列印..................................................................................................................................698 了解DIB...................................................................................................................................698 点对点图素显示.......................................................................................................................701 DIB的颠倒世界.......................................................................................................................710 循序显示...................................................................................................................................719 缩放到合适尺寸.......................................................................................................................727 色彩转换、调色盘和显示效能...............................................................................................738 DIB和DDB的结合....................................................................................................................739 从DIB建立DDB....................................................................................................................739 从DDB到DIB........................................................................................................................747 DIB区块...................................................................................................................................748 DIB区块的其他区别...............................................................................................................756 档案映射选项...........................................................................................................................757 总结...........................................................................................................................................758 第十六章 调色盘管理器..............................................................................................................759 使用调色盘..................................................................................................................................759 视频硬体...................................................................................................................................759 显示灰阶...................................................................................................................................760 调色盘资讯...............................................................................................................................768 调色盘索引方法.......................................................................................................................769 查询调色盘支援.......................................................................................................................773 系统调色盘...............................................................................................................................774 其他调色盘函式.......................................................................................................................774 位元映射操作问题...................................................................................................................775 查看系统调色盘.......................................................................................................................776 调色盘动画..................................................................................................................................786 跳动的球...................................................................................................................................787 一个项目的调色盘动画...........................................................................................................795 工程应用程式...........................................................................................................................800 调色盘和真实世界图像..............................................................................................................805 调色盘和packed DIB..............................................................................................................805 「通用」调色盘.......................................................................................................................816 中间色调色盘...........................................................................................................................823 索引调色盘颜色.......................................................................................................................828 Programming Windows 程式开发设计指南(Windows95 程序设计 第五版) 第 10 页 调色盘和点阵图物件...............................................................................................................834 调色盘和DIB区块..................................................................................................................840 DIB处理程式库..........................................................................................................................845 DIBSTRUCT结构...................................................................................................................847 资讯函式...................................................................................................................................848 读、写图素...............................................................................................................................856 建立和转换...............................................................................................................................860 DIBHELP 表头档案和巨集.....................................................................................................873 DIBBLE程式...........................................................................................................................876 档案载入和储存.......................................................................................................................900 显示、卷动和列印...................................................................................................................900 剪贴簿.......................................................................................................................................901 翻转和旋转...............................................................................................................................901 简单调色盘;最佳化调色盘......................................................................................................902 均匀分布...................................................................................................................................916 「Popularity」演算法..............................................................................................................916 「Median Cut」演算法............................................................................................................917 转换格式......................................................................................................................................917 第十七章 文字和字体..................................................................................................................922 简单的文字输出..........................................................................................................................922 文字输出函式...........................................................................................................................922 文字的装置内容属性...............................................................................................................925 使用备用字体...........................................................................................................................926 字体的背景..................................................................................................................................927 字体型态...................................................................................................................................927 TrueType 字体..........................................................................................................................928 属性或样式...............................................................................................................................929 点值...........................................................................................................................................929 间隔和间距...............................................................................................................................929 逻辑英寸问题...........................................................................................................................930 逻辑字体......................................................................................................................................931 逻辑字体的建立和选择...........................................................................................................931 PICKFONT程式......................................................................................................................932 逻辑字体结构...........................................................................................................................950 字体映射演算法.......................................................................................................................954 取得字体资讯...........................................................................................................................955 字元集和Unicode....................................................................................................................957 EZFONT系统..........................................................................................................................958 字体的旋转...............................................................................................................................967 字体列举......................................................................................................................................969 列举函式...................................................................................................................................969 「ChooseFont」对话方块.......................................................................................................970 段落格式......................................................................................................................................979 简单文字格式...........................................................................................................................980 使用段落...................................................................................................................................981 Programming Windows

2018-05-03

C安全编码标准【高清+页码目录+可搜索+可编辑/复制/粘贴+无密码】

一、下载须知 1、------------》用于传播和交流思想 2、------------》页码目录,不是章节目录。 3、------------》已经进行解密处理,大多数PDF会进行加密以至于无法编辑 4、------------》高清 5、------------》可直接复制粘贴源码 6、------------》可搜索某一段内容 附注:本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。仅用于交流和传播思维模式。 二、全部目录如下 目录 关于作者 前言 笫1 章本标准使用说明... …·……….. … I 系统质量............................................. I 自动生成的代码............ ........ . ... ....... ..... 1 顺应性. ...... ......................................... 2 第2 章预处理器(PRE) ...... ………... 4 建议和规则.......................................... 4 风险评估汇总......... .................... .......... 4 相关规则和建议······ · ··· · ······· ······"··.... . ... 5 PREOO-C. 用内联函数或静态函数代替与函数 相似的宏............... ........................... 5 PREOI-C. 在宏参数名两边加上括号·……….. 9 PRE02-C. 宏替换列表应该加上括号... …… JO PR 印3-C. 应该使用typedef 定义编码 类型·················· ······ ········· ···--·· ·····11 PRE04-C. 不要复用标准头文件名………… 12 PREOS-C. 理解连接标记或执行字符串化时的 宏替换.. ..... .................. ............. .... 14 PRE06-C. 把头文件放在包含防护条件中… 15 PRE07-C. 避免使用连续的问号…………… 16 PREOS-C. 保证头文件名惟一... …………... 18 PRE09-C. 不要用不安全的函数替换安全 函数............................................. 19 PREIO-C. 在一个do-while 循环中包装 多条语句的宏. ... ..... ........................ 20 PRE30-C. 不要通过连接创建统一字符 名称.................................. ........... 22 PRE31 -C. 不要在不安全宏的参数中包含 赋值、增值、减值、volatile 访问或函 数调用.......................................... 22 第3 章声明和初始化(DCL) ……... 25 建议和规则.......... . ........... . ................ 25 风险评估汇总.................................... 25 DCL.00-C. 用const 限定不可修改的对象•.. 26 DCL.01-C. 不要在子作用域中复用变量名... 27 DC血-C. 使用视觉区别明显的标识符…… 28 DCl.03-C 使用静态断言测试常量表达式 的值, ·············· ·· ···················· ··· ·····29 DCI.04-C. 不要在一个声明中声明超过1 个 的变量,........... ... ........................... 31 DCW5-C. 使用typedef 声明提高代码的 可读性.................... . ..................... 33 DCl.06-C. 使用有意义的符号常量表示程序 逻辑中的字面值...…... ………......... … 33 DCIJY7-C. 在函数声明器中包含适当的类型 信息.............................. ..... .......... 38 DCl.08 -C. 在常量定义中对关系进行正确的 编码............................................. 4() DCl.09-C. 把返回errno 错误代码的函数的 返回类型市明为ermo_ l · ·· …………... 42 DCLIO-C. 维护变参函数的编写者和调用者 之间的契约.................................... 44 DCLll-C. 理解与变参函数相关联的类型 问题.............................. ... ............ 46 OCL12-C. 使用不透明类型实现抽象数据 类型............................................. 47 DCL13-C. 把不会被函数修改的值指针参数 声明为C0118l ................... ................. 49 DCLl4. 不要对跨翻译单元的全局变量的 初始化顺序作出假设,..伞..... ... ………… 51 DCLl5-C. 把不需要外部链接的对象声明 为static ....................................... 52 DC巳0-C. 声明具有正确存储持久期的 对象..................... .................. ... ... 54 DCI.31-C. 在使用标识符之前声明它们…… 56 DC 口2-C. 保证相互可见的标识符是 惟一的.......................................... 58 DC巳3-C. 保证函数实参中具有限制性限定的 源指针和目标指针不引用重叠的对象... 59 DC巳4-C. 对无法缓存的数据使用 volatile .......................................... 61 DCI.35-C. 不要使用与函数定义不匹配的 类型转换函数.......... .. .......... ... ........ 63 DCL.36-C. 不要声明具有冲突链接属性的 标识符······················ ·· ··--···· ···· --··-- 65 第4 章表达式(EXP) ...... …... ......... 67 建议和规则....... .. ....... ..... .................. 67 风险评估汇总..... ..... . ......................... 67 相关的规则和建议…...………............ … 68 EXPOO-C. 使用括号保证操作的优先级...... 68 EXPOI-C. 不要用指针的长度确定它所指向 类型的长度........ . ...... ... . ................. 69 EXP02-C. 注意逻辑AND 和OR 操作符的 短路行为....................................... 71 EXP03-C. 不要认为结构的长度等于它的各个 成员的长度之和....……........ …......... 72 EXP04-C. 不要在结构之间执行逐字节的 比较... ...... ...... ........ ...... ........ .. ...... 74 EXP05-C. 不要转换掉const 限定........…·… 75 EXP06-C. sizeof 操作符的操作数不应该包含 副作用..... ... .................. .... ........ ... . 77 EXP07-C. 不要在表达式中对常量的值作出 假设而削弱常量的优点.…... 78 EXP08-C. 确保正确地使用指针运算……... 79 EXP09-C. 使用sizeof确定类戏或变量 的长度................... . ...... ..... ........... 81 EXPIO-C. 不要依赖子表达式的求值顺序或 副作用的发生顺序... …….. .. ……........ 82 EXPll-C. 不要把期待一种类型的操作符应用 于一种不兼容的类型……...... ...…...... 84 EXP12-C. 不要忽略函数的返回值…… … … 88 EXP30-C. 不要依赖序列点之间的求值 顺序.. .... ...... . ........... . ....... . ....... ..... 89 EXP'.31 、c. 避免断言的副作用..….... ... .….. 90 EXP32-C. 不要转换掉volatile 限定....…….. 91 EXP33-C. 不要引用未初始化的内存....….. 92 EXP'.34-C. 保证不对null 指针进行解引用… 96 EXP35-C. 不要在后续的序列点之后访问或 修改一个函数的调用结果中的数组...... 97 EXP'.36干C. 不要把指针转换为对齐要求更严格 的指针类型............ . ......... .. .......... .. 98 EXP'.37-C. 调用函数时使用API 所指定的 XII 参数.......... . ...... .... . ..... . ......... ..... ... 99 EXP38-C. 不要在位段成员或非法类型上 调用offsetof() .............................. JOI 第5 章整数(INT) ........................ 104 建议和规则............ ... ........ .... ........ . ... 104 风险评估汇总................. .... . .............. 104 相关的规则和建议... .. ..……................. 105 INTOO-C. 理解编译器所使用的数据 模型.............................. ... ........ . ... 105 INTOI-C. 使用rsize_ t 或size_ t 类型表示 所有表示对象长度的整数值…… · …..... 108 IN1U2-C. 理解整数转换规则...…………... 111 INT03-C. 使用安全的整数库.......……….. 114 INT04-C. 对来自不信任来源的整数值实行 限制. . .... . ... .. .... . .. ... ......... .. ..... . . .. . . . 115 INT05-C. 如果输人函数无法处理所有 可能出现的错误就不要用它们转换 字符数据... ......... .. ....... ... . .. ... ...... ... 117 INT06-C. 使用strtol() 或相关函数把字符 串标记转换为整数.... ....... ... . …......... 119 INT07-C. 只使用显式的有符号或无符号char 类型表示数值......................... . ....... 121 INT08-C. 验证所有的整数值位于 范围内........ ..... ..... .......... ........ . .. . .. 122 INT09-C. 保证枚举常量映射到惟一 的值........ . ................................. . .. 124 INTlO-C. 使用%操作符时不要假设余数 总是正的....................................... 125 INTll-C. 把指针转换为整数或者把整数 转换为指针时需要小心.. . …………...… 127 INT12-C. 当普通的整数位段用于表达式时, 不要对它的类型作出假设...... …......... 128 INT13-C. 只对无符号操作数使用位 操作符... .. ....... . ............................. 129 INTI4-C. 避免在同一个数据上执行位操作和 算术运算. ................ .. .................... 13/ INTl5-C. 在程序员定义的整数类型的格式化 l/0 中使用intmax_ t 或uintmax_ t …... 132 INT30-C. 保证无符号整数运算不产生 回绕............ .... .. . . ....... ... ...... ... ...... 135 汛f INT31-C. 保证整型转换不会丢失或错误解释 数据......... . ........ . .. ... ........ .... ...... ... 139 INT32-C. 保证有符号整数运算不会产生 溢出. . . .......................... . ............... 142 INT33-C. 保证除法和求模运算不会导致 除零错误....................................... 149 INT34-C. 移位的数童不能是负数或大于 操作数的位数..... . ........ . .................. 150 INT35-C. 把整烈表达式比较或赋值为一种 较大类型之前用这种较大类型对它进行 求值............................................. 154 第6 章浮点数(FCP) ………………… 157 建议和规则... ...... ... .......... ..... ...... . . . . . . 157 风险评估汇总.................................... 157 相关规则和建议... .. .. .. ...... ......... .... ..... 157 FLPOO-C. 理解浮点数的限制…………······158 n的1-C. 在重新排列浮点表达式时需要 注意......... . . . ......... .. .......... . .... . ... . .. 159 FLP02-C. 需要精确计算时避免使用 浮点数.......................................... 160 FLP03-C. 检测和处理浮点错误... ... . .……· 163 FLP30-C. 不要使用浮点数作为循环 计数器·· · ···· ··· · · ····· ····.. ···--····· ......... 167 FLP31-C. 不要用复数调用期望接受实数 的函数........ . ......... . .. . ........... ... ...... 169 FLP32-C. 防止或检测数学函数中的定义域 错误和值域错误…….........……...... … 170 FLP33-C. 执行浮点运算时把整数转换为 浮点数.......................................... 175 FLP34-C. 保证浮点转换位千新类型的范围 之内... ... ...... .. . ... ...... . . . ......... ... ...... 177 第7 章数组(ARR)···…... …... …… 180 建议和规则....................................... 180 风险评估汇总... ...... ...... ... . .. ....... ... ..... 180 相关规则和建议…... ……....... ……........ 180 ARROO-C. 理解数组的工作方式………… 181 ARROI-C. 获取数组的长度时不要对指针 应用s远of操作符... ...... …...... …...... 183 ARR02-C. 显式地指定数组的边界,即使 它已经由初始化值列表隐式地指定…... 185 ARR30-C. 保证数组索引位于合法的范围 之内.... ........ .... ..... ... ... ...... ... ...... 186 ARR31-C. 在所有源文件中使用一致的数组 记法.......................................... 187 ARR32-C. 保证变长数组的长度参数位于 合法范围之内... . .. ... ....... . . ... ....... .. ... 189 ARR33-C. 保证复制的目标具有足够的存储 空间.......................................... 190 ARR34-C. 保证表达式中的数组类型是 兼容的....................................... 192 ARR35-C. 不允许循环迭代到数组尾部 之后....... .. ... ....... .. ..................... 193 ARR36-C. 不要对两个并不指向同一个 数组的指针进行相减或比较..…... ….... 195 ARR37-C. 不要把一个指向非数组对象的 指针加上或减去一个整数.. . .... .….. .. … 196 ARR38七C. 如果结果值并不引用合法的数组 元素,不要把指针加上或减去一个 整数..................... ... ... ... .... ..... ... /98 第8 章字符和字符串(STR) ……... 201 建议和规则.. . ...... ... ...... .. .. .. ... . ... .. ... ... 201 风险评估汇总.................................... 201 相关规则和建议... . . ... .... .. . ... ...... ... ... .. . 202 STROO-C. 使用适合的类型表示字符…·….. 202 STROl-C. 采纳和实现一致的字符串管理 计划............................................. 203 STR02-C. 对传递给复杂子系统的字符串 数据进行净化................... . ..... .. ...... 204 STR03-C. 不要意外地截断null 结尾的字节 字符串... ....................................... 207 STR04-C. 使用普通char 类型表示基本字符 集中的字符... . . .... .. . .. .... . .. .. .... .. .. . .... 209 STR05-C. 引用字符串常量时使用const 指针······ · · ··· ··· · ··· ··· ······ · · · · ·· ··· ··· ·--···210 STR06七. 不要以为strtok() 会使解析的 字符串不被修改... . ........….. .... ......... 21/ STR07-C. 使用TR 24731 修正现在的字符串 操纵代码............... . .... . ...... ... ... ... ... 213 STR08-C. 使用托管字符串开发新的字符串 操纵代码... ...... . ... .. ... .. . ... . . .... . ..... . .. 216 STR30-C. 不要试图修改字符串常量..... .… 217 STR3l 孛C. 保证字符串的存储具有足够的空间 容纳字符数据和null 结尾符…... ....~ …·218 STR32-C. 根据需要将字符串用null 结尾.. ............................... ... ....... .. 222 STR33-C. 正确地判断宽字符串的长度...... 225 匀、R34-C. 在转换为更大的整型长度时把字符 转换为无符号类型…………………...... 227 匀,R3S-C. 不要把未检查边界来源的数据 复制到固定长度的数组…... ... ...... ... ... 228 STR36-C. 不要指定用字符串常釐初始化的 字符数组的边界…..... .....….............. 232 STR37-C. 字符处理函数的参数必须能够用 unsigned ch盯表示...................…..... 233 第9 章内存管理(MEM) ...... ... …… 235 建议和规则.. ............... . ... . ................. 235 风险评估汇总............ . ....................... 235 相关规则和建议...…...... ……... …......... 236 MEMOO-C. 在同一个模块、同一个抽象层中 分配和释放内存.... ….............. …… 236 MEMOI-C. 在free() 之后立即在指针中 存储一个新值....................... ....... 238 MEM02-C. 把内存分配函数的词用结果立即 转换为指向被分配类型的指针… . .. ... ... 240 MEM03-C. 及时清除存储在可复用资源中 的敏感倌息·········........................ 243 MEM04-C. 不要执行零长度的分配…...... 247 MEMOS-C. 避免大型的堆栈分配·……….. 249 MEM06-C. 保证敏感数据不会被写入到 磁盘...... ... .......... .. ..................... 251 MEM07-C. 保证calloc() 的参数相乘后可以 用size_ t 表示....... ....... ... ........ .... . 254 MEMOB-C. 只把realloc() 用千改变动态分配 数组的大小................................. 255 MEM09-C. 不要假设内存分配函数会对内存 进行初始化.................... .... ......... 257 MEMIO-C. 定义和使用指针验证函数…... 259 MEM30-C. 不要访问已经被释放的内存... 261 MEM31-C. 动态分配的内存只应释放 一次··· ····........... ........................ 263 'IN MEM32-C. 检测和处理内存分配错误...... 264 MEM33-C. 使用正确的语法表示灵活数组 成员....................... ................ ... 267 MEM34-C. 只释放动态分配的内存·…….. 269 MEM35-C. 为对象分配足够的内存……... 270 第10 章输入/输出(FLO) … …… … 274 建议和规则... . ........... .. . ...... ............... 274 风险评估汇总··· ··· ···"0·······"···············274 相关规则和建议.. ............................... 275 FIOOO-C. 在创建格式字符串时应该 小心......... .. ..... .......... .. .... . ... ...... ... 276 FIOOl-C. 调用通过文件名标识文件的函数时 必须小心............................ . .... .. .. .. 277 FI002-C. 对来自不信任来源的路径名进行 标准化........ . ................................. 279 FI003-C. 不要对£open() 和文件的创建 作出假设······ · ·························· ·· ····286 FI004-C. 检测和处理输人和输出错误·….. 288 FIOOS-C. 使用多个文件属性标识文件.. .… 290 FI006-C. 创建具有正确访问权限的 文件....... . ...................... ...... .... .. . .. 295 FI007-C. 用£seek() 代替rewind() · · · · · · · · ·297 FI008-C. 在打开的文件上调用remove() 时应该小心······················ ···· ··········299 FI009-C. 跨系统传输二进刮数据时应该 小心........................ .. .......... ... .. . ... 3()() FIOIO-C. 使用rename() 函数时应该 小心.. .. ........ .. ...................... ...... ... 301 FIOll-C. 指定£open() 的mode 参数时应该 小心.......... ................. ... ............... 305 FJ012-C. 使用的tvbuf() 代替 眈tbuf() ...... ............. .................... 305 FI013-C. 不要压回多于1 个的字符….. .... 306 FI014-C. 理解文件流的文本模式和二进制 模式的区别......................... .. ...... ... 308 FIOlS-C. 保证文件操作在安全目录中 执行. . .... ....... .. ..................... ...... ... 309 FIOl6-C. 通过创建j幻l 限制对文件 的访问............... ...... ......... ... ....... .. 313 FI030七排除格式字符串中的用户 ).)1 输入. .. ............... ... ............ ... . . .... ... 315 FI031-C. 不要打开已经被打开的文件…… 318 FI032-C. 不要在专用于文件的设备上执行 操作....... .. ................... .. ... . ..... . .... . 320 FI033-C. 检测和处理导致未定义行为的输入 输出错误······· · ··· · ····· ···· ······ · · · ····· · ···323 FI034-C. 使用int 捕捉字符VO 函数的 返回值...... ................................. ... 328 日035-C. 当sizeof (int) = = sizeof (char) 时使用feof() 和ferror() 检测文件尾和 文件错误..... ............. . . . ...... .... . . ..... . 329 F1036-C. 不要假设fgets() 会读取 换行符... .. .. .................. .. . .. ... ...... . .. 331 FI037-C. 不要假设被读取的是字符 数据·················· · ·· ··· ······ ·· ·············332 FI038-C. 不要使用FILE 对象的拷贝进行 输入和输出.... ..... ...... ... .. ... ............. 333 FI039-C. 不要在没有干预刷新或定位调用的 情况下在一个流中交替地执行输入 和输出··· ·· ······················ ··· · ·· ··· ·· ····334 F1040-C. 在fgets() 失败时重置字符串· ….. 336 FI041-C. 调用getc() 或putc() 时不要使用 具有副作用的流参数....…………........ 337 FI042-C. 保证当文件不再需要时及时将 它们关闭······ ······ ·· ············ · ······ ·--··· 339 FI043-C. 不要在共享目录中创建临时 文件......... . .. ... .................. . . . ....... .. 342 FI044-C. 只在fsetpos() 中使用fgetpos() 所返回的值..... . .......... .. .................. 350 第11 章环境(ENV)···· ··· · · ······ ······352 建议和规则···· ·· ······· ·· · ·· ·····----····· ·· ·····352 风险评估汇总. .................... .. . ... ........ . 352 相关规则和建议.. .... ... .. ...................... 352 ENVOO-C. 不要存储指向getenv() 返回的 字符串的指针.... ..... ... ..................... 352 ENVOI -C. 不要对环境变量的长度作出 假设.......................................... 357 ENV02-C. 注意具有相同有效名称的多个 环境变董......... . .. ... .................... .. .. 358 ENV03-C. 调用外部程序时对环境进行 净化............... ... ..................... ... ... 361 ENV04-C. 如果不需要命令处理器就不要 调用system&#40;&#41; ................................. 364 ENV30-C. 不要修改getenv() 所返回的 字符串··· ·················· ······ ··· ·· ·· · ·······367 ENV31-C. 在可能无效化环境指针的操作 之后不能再依赖它.... ........………...... 369 ENV32-C. 所有的atexit 处理函数都不能以 除了正常返回之外的其他任何方式 终止... ... ............................... . ....... 373 第12 章信号(SIG) …......…...... ... 376 建议和规则......... .. . ..... ................... ... 376 风险评估汇总...... .................. ... ......... 376 相关规则和建议.... ... .. ..... ................ .. . 376 SIGOO-C. 屏蔽由不可中断的信号处理函数 所处理的信号... ....... ....................... 376 SIGOI-C. 理解与信号处理函数的持久性 有关的平台特定的细节……………….. . 379 SIG02-C. 避免使用信号实现常规的 功能... ......... ...... .. ... .. ... ................. 382 SIG30-C. 只在信号处理函数中调用异步 安全的函数.... ............... ......... .. .. .... 386 SIG31-C. 不要访问和修改信号处理函数中的 共享对象.... ...... .................. .. ...... .. . 390 SIG32-C. 不要在信号处理函数中调用 Ion印mp( ) ....................................... 392 SIG33-C. 不要递归地调用raise() 函数…… 395 SIG34-C. 不要在不可中断的信号处理函数 内部调用signal() .......................... ·398 笫13 章错误处理(ERR) ... ….... ….. 401 建议和规则.................. ...... ........ ..... .. 401 风险评估汇总...... ...... ........................ 401 相关规则和建议............................ ..... 401 ERROO-C. 采用和实现一致的、全面的错误 处理策略··············· · ········· ····· · · · · ·· ··· 402 ERRO I -C. 使用felTOr() 而不是errno 检查 FILE 流错误............ ...... ...... ... ...... 404 ERR02-C. 避免带内错误指示符.... …….. 405 ERR03-C. 调用TR24731 - I 所定义的函数时 使用运行时约束处理函数..... ....……... 408 ERR04..C. 选择一种适当的终止策略…... 410 ERROS-C. 独立千应用程序的代码应该在 不提示错误处理的情况下提供错误 检测.............................. . ........... 414 ERR06-C. 理解assert( ) 和abort () 的终止 行为... ....................................... 419 ERR30-C. 调用设置errno 的库函数之前把 enno 设置为0, 并且在函数返回一个 提示失败的值之后检查ermo ·· 一……. .. 420 ERR3 I -C. 不要重定义errno· …………….. 424 E RR32会C. 不要依赖errno 的不确定值…… 425 第14 章其他(MSC ) -…..... ……… ... 429 建议和规则... ...... .... .. ..... .... ... ...... .... .. 429 风险评估总结........ . .... .. . . ................ ... 429 MSCOO-C. 在高警告级别进行干净的 编译... .. ...... ...... . .. ... . ... ... . . .... ......... 430 MSCOI-C. 实现逻辑完整性…... …......... 430 MSC02..C. 避免因为省略所导致的错误·….. 433 MSC03 七避免因为多余所导致的错误…… 434 MSC04畴C. 用一种可读的风格一致地使用 注释............ ....... ....... ........ ........... 435 MSCOS-C. 不要直接维护time_ I 类型 的值........... . .. . .. . ............... ... ......... 437 MSC06-C. 处理敏感数据时注意编译器 的优化.......................................... 438 MSC07-C. 检测和删除死代码.... ……….. 441 MSC08 - C. 库函数应该对形参进行验证...... 443 MSC09..C. 字符编码:使用ASCII 的子集以 保证安全........... ....... ....... ...... . ... .... 445 MSCIO-C. 字符编码: UTF-8 相关 的问题.. .............. .. ... . . . ........... . ...... 44 7 MSC I I-C. 使用断言进行诊断测试……... 450 对 MSC12-C. 检测和删除没有效果的代码.. … ·451 MSC 13-C. 检测和删除未使用的值……... 452 MSCl4-C. 不要引人不必要的平台 依赖性···················· ·· ········ ·· ··········454 MSCIS-C. 不要依赖未定义的行为·…….. 455 MSC30-C. 不要使用rand() 函数产生伪随 机数··············· · ·················· ·· ··· ··· ··· 457 MSC31-C. 保证返回值与适当的类型 进行比较······· · ······· ······· ··········· ······ 459 附录POSIX (POS) · · · ………….……..如 建议和规则...... . . ... .. ..... ... .. . . ... ........... 461 风险评估汇总····································461 相关的规则和建议…... ……. ..... ...... . ..... 462 POSOO-C. 避免多线程的竞争条件…......... 462 POSO J-C. 检在链接是否存在…… …… …... 463 POS02-C. 遵循最小特权原则.. . …… . . ……· 466 POS30-C. 正确地使用readl ink() 函数……必8 P0S3I-C. 不要解锁或销毁另一个线程 的mutex······· ··· ·· · ·· ···· · ·· · ·· · · ··· · ·· • ·"·· 4 70 P0S32-C. 在多线程环境中使用位段时包含 一个mutex····················· · ··········· ··· 471 POS33 -C. 不要使用vfo众() . …………..... 473 POS34 -C. 不要用一个指向自动变量的指针为 参数调用putenv()······· …........ …..... . 475 POS35-C. 避免检查符号链接是否存在时 的竞争条件............................ . ..... .. 476 POS36 -C. 在撤消特权时注意正确的撤消 顺序....... .... . . . . ... ............... .. .......... 478 POS37-C. 保证特权的撤消是成功的..…… ·480 词汇表................................................ 484 参考资料···· ··· ·· ··· ···· · · ···· · ········· · ·· · ·········486

2018-05-03

敏捷软件开发:原则、模式与实践【高清+可搜索+可编辑】

一、下载须知:很清楚,但是有一小部分看着有点颗粒感,我试着美化以增强更好地阅读体验,但是没有成功。 二、简单介绍一下,这本书我个人觉得写的确实很好,而且在当年大卖,在书的序言也写了,个人觉得是挺不错的一本书,这是翻译的作品,建议有能力的可以读原文,希望能有更多的人接触敏捷编程。 摘一点书上原话: 七年等待换来的经典(代序) 孟岩 Robert C. Martin 的经典著作《敏捷软件开发)) (Agile Software Developm叩)中文版面世,这是 计算机技术出版领域的一件人喜事。即使在技术图书非常繁荣的今天,本书的问世也仍然是值得广 大开发者格外留意和关注的享件。这不仅是因为它刚刚荣获2002 年度Jolt 震撼大奖,更因为这本书 本身的价值和独特魅力所孔。 三、 2. 目 录 第I 部分敏捷开发 第1 章敏捷实践.............................................2 1.1 敏捷联盟···········································3 1.2 原则···················································6 1.3 结论···················································8 参考文献.................................................... g 第2 章极限编程概述...............................……9 2.1 极限编程实践..........………..... ………··9 2.2 结论................................................. 16 参为文献.................................................. ,6 第3 章计划...………........................................ 17 3.1 初始探索······································、··I7 3.2 发布ii 划......................................... 18 3.3 迭代计划......................................... 18 3.4 任务计划......................................... 19 3.5 迭代................................................. 20 3.6 结论................................................. 20 参考文献··································................ 20 第4 章测试....................................................21 4.1 测试驱动的开发方法…·…....………·21 4.2 验收测试………......……………........... z4 4.3 结论................................................. 27 参考文献········..········································27 第5 章重构..........………....... ………........... ……18 5.1 素数产生程序. 一个简单的亟构示例……......... 令… ··29 5.2 结论................................................. 38 参考文献...…............................................ 38 第6 章一次编程实践...................................39 6.1 保龄球比赛...........……......... ……..... 39 6.2 结论................................................. 75 第II 部分敏捷设计 第7 章什么是敏捷设计....……............... ……79 7.l 软件出了什么错.....…………....... …··79 7.2 设计的臭味一腐化软1'1的气味·80 7.3 "Copy" 程序………..................…… 82 7.4 保持尽可能好的设计…...……......... g6 7.5 结论..............…······················ ……····86 参考文献···········································....... g7 第8 章单一职责原则(SRP) .................... 33 8.1 单一职责原则CSRP)····…………··88 8.2 结论................................................. 91 参考文献.................................….............. 91 第9 章开放一封闭原则(OCP) ............... 92 9.1 开放一封闭原则(OCP) ......... …··92 9.2 描述.......................................…....... 93 9.3 关键是抽象...………....... ……·…........ 93 9.4 结论............................................... 101 参考文献................................................ 10) 第10 章Liskov 替换原则(LSP)··………102 10.l Liskov 替换原则(LSP) ........... 102 10.2 个违反LSP 的简单例子......... 103 10.3 正方形和矩形,更微妙的违规... 104 10.4 一个实际的例子...……........... ….. 108 10.5 用提取公共部分的方法 代忏继承….........………........... ….. 112 10.6 启发式规则和习惯用法… ·114 10.7 结论............................................. 115 参考文献................................................ 115 第11 章依赖倒置原则(DIP) ................ 116 ll.l 依赖倒置原则(DIP) ……… ·--···116 11.2 层次化...................…................... 117 11.3 .. 个简单的例了……·…............…118 I 1.4 熔炉示例·…………............………···120 11.5 结论·….......................…···············122 参考文献.................................…............ 122 第12 章接口隔离原则(ISP) ............... …123 12.1 接口污染…......…………............. …123 12.2 分离客户就是分离接口……........ 124 12.3 接口隔离原则(ISP) ..... ………··125 12.4 类接门与对象接口…………..……·125 12.5 ATM 用户界面的例了…….......... 127 12.6 结论·······............................…....... 132 xviii 敏捷软件开发;原则、模式与实践 参考文献................................................ 132 第III部分薪水支付案例研究 第13 章COMMAND 模式和 ACTIVE OBJECT 模式..............,37 13.1 简单的COMMAND …................ 138 13.2 书务操作..................................... 139 13.3 UNDO ......................................... 140 13.4 ACTIVE OBJECT 模式…........... 141 13.5 结论·············································144 参考文献······"···· ….................................. 144 第14 章TEMPLATE METHOD 模式和 STRATEGY 模式:继承与委托·… 145 14.1 TEMPLATE METHOD 模式…···145 14.2 STRATEGY 模式………... ….... ….. 151 14.3 结论….......................................... 155 参考文献................................…………... 155 第15 章FACADE 模式和 MEDIATOR 模式.........………....... 156 15.l FACADE 模式…...........…………··156 15.2 MEDIATOR 模式……................. 157 15.3 结论.......................................••····159 参考文献................................................ 159 第16 章SINGLETON 模式和 MONOSTATE 模式··················..·160 16. l SINGLETON 模式···········……….. 161 16.2 MONOSTATE 模式·…...……....... 163 16.3 结论........................................…··169 参考文献.......、....................................... 169 第17 章NULL OBJECT 模式..............…170 17.1 结论............................................. 172 参考文献................................................ 172 第18 章薪水支付案例研究: 第一次迭代开始................….......... 73 18.l 介绍·············································l73 18.2 基于用例分析....…………·············l74 18.3 反思:我们学到f11 么……....... 180 18.4 找Ill 潜在的抽象…………............. J80 18.5 结论···································..········182 参考文献·······························•·"·············182 第19 章薪水支付案例研究:实现...........183 19.1 增加府员……········......…...... …….. 183 19.2 删除雇员….....………...... ……........ 188 19.3 时间卡、销售见条以及 服务费用..................................... ]90 19.4 更改雇员屈性......…... ….............. 196 19.5 支付雇员薪水.......………........ ….. zos 19.6 卞程序......................................... 220 19.7 数据库......................................... 221 19.8 薪水支付系统设计总结......….... 222 参芍文献················································222 第IV 部分打包薪水支付系统 第20 章包的设计原则...............................224 20.1 如何进行包的设计…....……·……·224 20.2 粒度:包的内聚件原则.......... •···225 20.3 稳定性:包的耦合性原则·227 20.4 自J顶向下设计............................. 231 20.5 稳定依赖原则.............……………·232 20.6 稳定抽象原则·……….......…·…….. z3s 20.7 结论............................................. z31 第21 章FACTORY 模式…….....................238 21.I 依赖关系环......……........ …………·239 2\.2 可替换的T厂...........…........... …·240 21.3 对测试支架使用对象U···········241 21.4 使用对象上厂有多么亟要242 21.5 结论............................................. 242 参考文献................................................ 242 第22 章薪水支付案例研究(第2 部分) ....................................................... 243 22.1 包结构和表小法…..............…….. 243 22.2 应用公共封闭原则(CCP)······245 22.3 应用甄用发布等价原则(REP) ·············································、....... 246 22.4 耦合和封装……....….. ……………... 247 22.5 度量............................................. z49 22.6 度退薪水支付应用程序250 22.7 对象工厂.............. 令令...……........ 令令.. 253 22.8 最终的包结构·…...………··········... 255 22.9 结论............................................. 256 参考文献................................................ 256 第V 部分气象站案例研究 第23 章COMPOSITE 摸式......................253 23.l 示例:组合命令·….....…...... ….... 259 23.2 多霆性还是非多默性.........……··259 第24 章OBSERVER 模式 一一回归为模式...........................261 24.1 数字时钟…........……………….... …·261 24.2 结论···························•·················275 24.3 OBSERVER 校式……········………·275 参考文献................................................ 277 第25 章ABSTRACT SF.RVER 模式、ADAPTER 模式和BRIDGE 摸式.....................278 25.l ABSTRACT SERVER 模式········279 25.2 ADAPTER 模式.. ……··········· 令… ··279 25.3 BRIDGE 模式…..……..... ….. …..... 283 25.4 结论·…................................. ••······285 参考文献················································285 第26 章PROXY 摸式和STAIRWAY TO HEAVEN 模式:管理第三方API----286 26.l PROXY 模式…….....…......... …….. 286 26.2 STAIRWAY TO HEAVEN 栈式...…303 26.3 可以用千数据库的其他侠式...... 309 26.4 结论··········--··················• .............. 310 参考文献................................................ 310 第27 章案例研究气象站.......................311 27.l Cloud 公司..................……………·311 27 .2 Nimbus-LC 软件设计·…….......... 313 27.3 结论·············································333 参击义献······················.. ························333 27.4 Nimbus-LC 需求概述……....……·333 27.5 Nimbus士LC 用例…………............. 334 27.6 Nimbus-LC 发布计划....…..... …··336 第V1部分ETS 案例研究 第28 章VISITOR 模式········….......... …······340 28.1 VISITOR 设计模式系列......……·340 28.2 VISITOR 模式…......................... 340 28.3 ACYCLIC VISITOR 松式.......... 344 28.4 DECORATOR 校式....令令.............. 353 28.5 EXTENSION OBJECT 校式...... 358 目录xix 28.6 结论··········.. ·······.......................... 367 参考文献................................................ 367 第29 章STATE 摸式..................................363 29.l 有限状态自动机概述….......……·368 29.2 实现技术.....…····· …... …........ 令······369 29.3 STATE 模式…………….........…·····374 29.4 应该在哪些地方使用状态机...... 379 29.5 作为GUI 中的高层应用策略.... 379 29.6 结论·············································382 29.7 程序·············································382 参考文献........…···············.. ······--············388 第30 章ETS 框架..........令..........令..……...... …389 30.1 介绍·············································389 30.2 框架............................................. 392 30.3 框架设计....... 令......令……… ·············394 30.4 TEMPLATE METHOD 模式的 -个例子·····································399 30.5 TASKMASTER 构架…………...... 407 30.6 结论························..···················410 参考文献············································..··410 附录 附录A UML 表示法I: CGI 示例…....…4ll A.L 课程登记系统:问题描述……·····412 A.2 小结······························.. ········.. ····431 参考文献........................…..................... 431 附录B UML 表示法JI: 统计多路复用器.........参····················432 B.l 统计多路复用器的定义………...…432 B.2 结论··············....·•··························448 参考文献.....…······· …………..................... 44g 附录C 两个公司的讽刺小品.....................449 附录D 源代码就是设计·……......................459 索引..............................................…, .... -... ·······467 设计模式列表 霖笃~::c~~尸......:.............:................二......:...: ..: 勹骂 笠芦尸I.~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~;: BRIDGE···········.. ············.. ···········.. ···········..................................................... 283 2。它。:::~·:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::二::.:..::.昙 盓E飞勹芷飞~~~~;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::二二..二:.器 芦芷飞...:..:..:......:.:......::..:.:....:...:........:..:........:::.........:.:........:.::::...臣 MEDIATOR ................................................................................................... 157 MONOSTATE ................................................................................................ 163 芦s勹~~!:.~:丁:.:.:...::::..:...:.::....:.:.:.:.::..:.:....::.:..::::.::....::::.:::.::::::.::::::::.:.:.. 芦 PROXY····........ ··························································································286 SlNGLETON····································································、............................. 161 STAIRWAY TO HEAVEN ................................................................................. 303 STATE·························.. ····················.. ·• .. ·······... ·......................................... 374 STRATEGY·············································································....、................. 151 TTAESMIP也LATSTEE RM···E··T··H··O··D::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::410457 VISITOR··································.. ·······························"·······"·······、................. 340

2018-05-01

Test-Driven+Development+By+Example-测试驱动开发【高清+有目录+可搜索+可编辑】

1.敏捷开发强调测试先行,因为先编写测试代码,就可以有目的的预防某些bug的产生,要知道,治病不如预防!!!所以我个人觉得这个还是比较重要的,文件也不大,只有8M,但是高清。 2.本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 部分目录如下: 目录 第一部分资金实例 第1 章多币种资金··························································································································3 第2 章变质的对象························································································································10 第3 章一切均等····························································································································13 第4 章私有性·································································································............................... 16 第5 章法郎在诉说........................................................................................................................ 18 第6 章再谈一切均等.................................................................................................................... 21 第7 章苹果和桔子........................................................................................................................ 25 第8 章制造对象····························································································································27 第9 章我们所处的时代................................................................................................................ 31 第10 章有趣的Times 方法.…....….. …... …..... ….. ….... …... ….. ……….... …... ….. …….... ……... ……...... 36 第11 章万恶之源.......................................................................................................................... 41 第12 章加法,最后的部分..…..….. ….... …... ….... …..... …... ….. ….. …..... ….. …... …....... ……………· ….. 44 第13 章完成预期目标.................................................................................................................. 48 第14 章变化.................................................................................................................................. 53 第15 章混合货币.......................................................................................................................... 57 第16 章抽象,最后的工作.......................................................................................................... 61 第17 章资金实例回顾.................................................................................................................. 65 . 下一步是什么? •••••••••••·••••••••• 暹···········…...... 匿·…... …......... 霉.........…········· 暹....….. 查......................... 65 比喻66 JUnit 的向.法::::::::::::鲁....愈::::::::::::::::::::::::::::::::::::::::::::::::::::董:::::::::::::::::::::::::::::::::::::::::::::::::::::::66 代码统计.......................................... 夔················…................................................................ 麟..... 67 过程............................................................................................................................................ 68 了:回顾::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 第二部分xUnit 实例 第18 章步入xUnit ......................................... 簪.........…......... …....... ….... …..................................... 73 第19 章设置表格··················--.. ·········.. ··••• 暹........... 薹··································"······"·····…................... 77 第20 章后期整理................. 畛················............................................................ 爹...参................….... 80 第21 章计数.......................................................................................…................................... ….. 83 第22 章失败处理.......................................…... 窜........….. ….............................. ….. ….... …............... 86 第23 章如何组成一组测试...........雪…………………..………………………………………….. 霞...…………….. 88 第24 章xUnit 回顾.............雪...... 暹........... 匿········ 摹…················--雹............ …............ 霉….........…............. 93 第三部分测试驱动开发的模式 第25 章测试驱动开发模式会....................…........... 吻.....……..... ……....... 诊....………………………......... 97 测试(名词)暹.雪.... 雪......................…......................................... 崎................................................. 97 相互独立的测试(Isolated Test) ……..... …·…….......... …………………………...... …………….... 雀..... 98 测试列表(Test List) ................................................... 豪....................…..... …........................... 99 测试优先(Test First) 断言优先 (Assert First;·::::::::::::::::::::::二 ::::::::::::::::::::神: ....:::...:.......二二厂::::厂厂 100 101 测试数据(Test Data) .显然数据(Evident Dat~·;··:::::::::::::::::::::::::::::::::::::: 二二:::::::::::::::::::::::::::::::::::::::::::…::::: 102 103 第26 章不可运行状态模式104 一步测试(One Step Test)··:::::::::: 二:....:..:墓:::::::二:厂二二二::::::::::: 二勹二二::..二二:: 104 启动测试(Starter Test) ................................... 金.......…·······....................... 渗........................... 105 说明测试<Explanation Test) 106 学习测试(Leaming Test) .... 二二二二二二二二二二二二二二二二二二二二二二二: 106 另外的测试 回归测试(;~鲁酝已卢;比~~;噜:::::::::::::: 二..二:.:二二二二二二:.二:::::::::::::::::::::::::::: 108 107 ::开 闷:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::缴:惫:::::::::: 便宜的桌子,舒适的椅子…………........……·…………………· ……………..... …………………………... 110 第27 章测试模式................…........ ….......................... 愈............................................................... 111 子测试(Child Test) .......... 筝.............….................................... 噙.............................................. 111 模拟对象(Mock Object) . …...... 摹.......………………·……………………………………………………· …111 :::1言lf(:n~~~~·;···::::::::::二::::::::::::::::::::::::::::::::::::::::::::::: 二::.二:.:.. :::....}}: 清扫割试死角(Crash Test Dummy) . ……... ………· ……………... ……….. …………......... …….. ….. 114 昙需它需心为芯芯;沁五::::::::::::::::::::::::::::::::::::睿 ......查::::::::::::::::::::::::::::::::::::::::::: :~! 第2~伪!:~昙,~:动了二::.二:./.二:.二二二:...::二二:/二三:.靡:...二::::::::::::::::: !!; 三角法(Triangulation) .... 暹........ 参...................................................................佛....................... 119 显明实现(Obvious Impl ementatlon) ….................... 拳...............................…......................... 119 从一到多(One to Many) ........................................ …....... 匿.............….................................. 120 第29 章xUnit 模式 断言 (Assertion).. 二二二.二二二::::.二:::::::::::::::::::::::::看 :.:..令::::::::::::::::::::::::::::::::::::::: 122 122 固定设施(Fixture) ............................................................................................................... 123 ;古婴:哼宁:st(贮笠:飞F~~~~~-~...:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ~ 芦 异常测试(Exception Test) . …... ……....... …....... ………... …............... 争............. …·鲁............. 令奄.... 127 全部测试(All Tests) ..................... 耄..令......................................... 伞......................................... 127 第 3~命:巴尸尸式..:. .::.: ..: :::.,二:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ;~~ 值对象簪............... 逾............................ 雪... 潭.................................................................................... 131 盓:去:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ~!! 插入式对象 插入式选择霹:::::: 二::::::::::::::::::::::令: ........:噜:::::::::::::::::::::::::::::::::::::::::::::::::::::::::135 134 工厂方法.................................... 参·········"···········...........................................噜..............….......... 137 递归:::::::::参::::::::::::::::::::::::::::::::::::::::::参:::::::::::::::::::::::::::::::::::睿...集:::::::::::::::::::::::::::::::: :~; 收集参数 单例模式亭~~-;心如~;--·::::::::二二:.二二二二二二二二二二二二二二:.. :.二:../...: 140 141 第31 章重构........................................................................................................................…..... 142 调和差异( Reconcile Differences) . …………………….. ……………………........ 萼..........……….. …... 142 隔离变化(Isolate Change) 帚...……………………........ …...... ……………... …………· …….. ………….. 143 :芯:亡::~!:~~==~;··::: 勹....勹勹:::::::二/..::/厂:.二:::::::::二二二二二二:..::::: ;芯之笘:芦::兄芯立立e)鲁·:参:.:.:.:食::::::::: 俺.. :..:二:::::::::::::::::::::::: 二:参:..二::::::::::::::: 二.::::..:芯 转移方法(Move Method) ………· ….. ……..... ……….... ………..... ………............. ………………....... 147 方法对象(Method Object) .. …………· ……….. ……………......... ……………….... …………………….. 148 添加参数(Add Parameter) …….. ….. ……………………………..... ……………..... ……………..... ….... 149 把方法中的参数转变为构造函数中的参数••• 重..............................................……....... …........ 149 第32 章掌握TDD ….....…….. ……..... ………….. ……………………...... ……………………………….. …... 夸... 150 附录沁尸尸严:::::::::::::::::::::::::::::::::睿 :.二:::::::::: 二:.:::二:.二:::.:.:::..::.::.:.::::.:..::::.二.:::::二二:.:::二腐 附录B 斐波纳契数列.…………·.........·….. …………....... ·······………….. 睿... 夸................. ….............. 食摩.. 164

2018-05-01

高效程序员的45个习惯:敏捷开发修炼之道【有目录+可搜索+可编辑】

本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 部分目录如下: 目录 第1 章 第2 章 敏捷高效软件开发之道.... ……矗.. 1 态度决定一切…. ...... .. . ................. 命. . ... . 10 1 做卓-·· · · · ·,,. ·.. · · · · · · · · · · ·.. · ·.. · ·.. · ·.. · ·.. · ·... · · · · · · · ·.. · · ·.. · · 12 2 欲速则不达••• •·O O O O O .. O OO .. O . ... . .. • • •~• . .. O• •• o • O • • ••O • H , - , O 15 3 对事不对人. . ....................... 一一...... . ... . ... . -~•.•····· 18 4 排除万难,奋勇前进…........…... …......... \,---· 23 第3 章学无止境''" 一一.一. .飞. - ••••••••••• •••••••••••• ••• …·…·26 5 跟踪变化……- · · ·…......... …令.... .-.-•............ 矗... . ... . 28 6 对团队投资..…••• ••• • ••• r………·会··~··阜T• ~.,••令.....…31 22 自动验收测试................................... , ..... ... . 90 23 度量真实的进度...... .~ ….. …......... …............. 93 24 倾听用户的声音....主叠..... .. .......... .. .. .....……… 96 第6 章敏捷编码............. . . ..... . . …..... ……·……… 98 25 代码要消晰地表达意图..........……..... ….... 100 26 用代码沟通..…........ ………................. 今.. ..... 105 27 动态评估取舍.. ..…..... ……· ……..... …· • · ·.• · · ·.. 11 0 28 增量式编程..... -·............ -~-........... 主...…........ 113 29 保持简单·…... …亨……......... ........噜. .. ... ..气... .. .. . 11 S 7 懂得丢弃. ;; ......... 屯箭:-, ......... 干子..... .. 妒••n.,,o、3 4 8 打破砂锅问到底.... 匕.`二. ....` . .`.... . 上已,.,.,n.. •••-• 37 9 把捏开发节奏·….... …、.·,.. ·s •• ca.·... ••• …..... 参.. .... . ... 40 第4 章交付用户想要的软件...…·…... 曹曹......... 43 10 让客户做决定...…….......................... …….... 45 11 让设计指导而不是操纵开发.......... ., …….... 48 12 合理地使用技术·………....…...... ··.·• ………..... 52 13 保持可以发布…….......……………...... 臀......…· 55 14 提早集成,频繁集成....垒......……………....... 58 15 提早实现自动化部署.... ... 入' . ..、..... ... . ... . ...…61 16 使用演示获得频繁反馈..... .. .……... ….. ….... 64 17 使用短迭代,增量发布..…….......... …; ..••... 69 l& 固定的价格就意味老背叛承诺………. ..….. 73 第5 章敏捷反馈·.... . .......... .............................. 76 19 守护天使. .... . .. .. . ..……....... …............ …...... …78 20 先用它再实现它......... 今........ . ... .. ..........……·82 21 不同环境,就有不同问题........ .峰…… ..……·87 30 编写内聚的代码·····-·..;.·/ .,.·-.'.;,_; ············......... 亨.. .... lJ7 311 告知, 不要询问....……... …….... ~,_ ...... …, •. 121 32 根据契约进行替换.......... . ........ ... ..…........ 124 第7 章敏捷调试.. . .....…........ ………......... 一.. 128 33 记录问题解决日志.. ... ...... .... .…........ …….. 129 34 警告就是错误··· ·············· "•·:... ·••• …·········"··· 132 35 对问题各个击破…·… .. .. 曹. ..... ...... 鲁· ·· ·· ·~···· ··· 136 36 报告所有的异常....…... … .... . .... . 、..... .. .. ..... .. 139 37 提供有用的错误信息.. .…….......... ………... 141 第8 章敏捷协作....................•.... ••,• ................ . 146 38 定期安排会面时间........... . .…·.. ·... •••• • ~-· •••• 148 39 架构师必须写代码.....….. …….. …………..... 152 40 实行代码集体所有制… ……...…………….: .. 155 41 成为指导者…、…………...... ..……·.~ ……·…….. 151 42 允许大家自己想办法 . . .;•. .,; ...................... .. 160 43 准备好后再共享代码·………..……...... ….... 162 44 做代码复查.•·• ……………….. …·……………….. 165 2 目录 45 及时通报进展与问题.. ... .. ..、.. .... . . .-.-. 一.... .. 妒~. .. 168 第9 章尾声:走向敏捷..…...... …................. 170 9.1 只要一个新的习惯….. ..……................... a_ l 70 9.2 拯救濒临失败的项目..…..... 八········· ·· ·· · ··.. 171 9.3 引入敏捷管理者指南.... ...………·……... 172 9.4 引入敏捷;程序员指南…. .....……........... 174 9.5 结束了吗... .... ....…·…..... …….......... …········175 附录A 资源一·.·. .;.•- ., -:俨 ~-• •• ••• ………........ …·…: ......... 176 索弓, .... 牟............_•• • 令-~······ ····..··· ···........... …......今 ... ....... 182

2018-05-01

mq产品对比

已经将扫描的页面转化为可搜索的图像(精确)

2018-05-01

Head first SQL中文版

数据和表 保存所有东西的地方 你是否也很讨厌总是找不到东西?找不到你的车钥匙、Urba n Outfitter 75 折优惠券以及应用程序的数据叨?在最需要的时候,偏偏找不到需 要的东西,还有什么比这更精?提到应用程序,存储程序重要信息的最佳场所 非表莫属。所以请翻到下一页,踏入关系数据库的世界吧。 一分会, g-!t 会. 玺丐扣" 弓荨雪__,,____ • -~ 朵 定义数据 从分类的角度看数据 什么是数据库? 戴上X 光眼镜,看穿数据库…… 数据库包含关联数据 放大表 接受命令! 设定表: CREATE TABLE 语句 创建更复杂的表 石,设计SQL 是多么简单 创建my_contacts 表(终干!) 您的表已经准备好了 认识一下其他数据类型 请乔您的表 不可以重建已存在的表或数据库! 辞旧迎新 为了把数据添加进表里,您需要INSERT 语句 各种INSERT 语句 没有值的列 以SELECT 语句窥探表 SQL 真情指数: NULL 的真情告白 控制内心的NULL NOT NULL 出现在DESC 的结果中 用DEFAULT 填补空白 你的SQL 工具包

2018-05-01

[深入浅出-HTML5编程]Head.First.HTML5.Programming.{Eric.Freeman.&.Elisabeth.Robson}.影印版

Your brain on HTML5 Programming. Here you are trying to learn something, while here your brain is doing you a favor by making sure the learning doesn’t stick. Your brain’s thinking, “Better leave room for more important things, like which wild animals to avoid and whether naked snowboarding is a bad idea.” So how do you trick your brain into thinking that your life depends on knowing HTML5 and JavaScript? Intro Who is this book for? xxii We know what you’re thinking xxiii And we know what your brain is thinking xxiii Metacognition: thinking about thinking xxv The technical review team xxx Acknowledgments xxxi

2018-05-01

[Head First C# 中文版].斯泰尔曼.扫描版【有目录】

目录: I C#助你快速开发: 10分钟(甚至更短时间)内轻松搞定可视化应用I . 2 都只是代码:幕后的故事43 3 对象我们的方向!让代码更合理85 4 类型与引用:现在是上午10:00, 你知道你的数据在哪儿吗? 123 C#实验室I: 赛狗日163 5 封装:让你的隐私……属千你个人173 6 继承:对象的家庭树205 7 接口与抽象类:让类信守承诺251 8 枚举与集成:存储大昼数据309 C#实验室2: 冒险游戏 9 读写文件:保存了字节数组,就留住了一切 10 异常处理:救火太老套 II 事件与委托:没有你的监视,代码自己在做什么 12 复习与预习:知识,能力,动手实践 13 控件与图片: 应用的美化 14 CAPTA1N AMAZING: 对象之死 15 LINQ: 让数据在你的掌控之中 C#实验室3: 入侵者 附录i 其他 详细巨录 引子 363 385 439 483 515 563 621 653 681 703

2018-05-01

[Head.First.JavaScript].Michael.Morrison...

下载须知:英文版,但是内容是真的清楚,超清....... Reacting to the Virtual World 1 Tired of thinking of the Web in terms of passive pages? Been there, done that. They’re called books. And they’re good for reading, learning... lots of good things. But they’re not interactive. And neither is the Web without a little help from JavaScript. Sure, you can submit a form and maybe do a trick here and there with some crafty HTML and CSS coding, but you’re really just playing Weekend at Bernie’s propping up a lifeless web page. Real live interactivity requires a bit more smarts and a little more work... but it has a much bigger payoff. the interactive web (Online) people have needs 2 Like talking to a brick wall... nothing happens 3 But JavaScript talks back 4 Lights, camera, interaction! 6 Use the [removed] tag to tell the browser you’re writing JavaScript 11 Your web browser can handle HTML, CSS, AND JavaScript 12 Man’s virtual best friend... needs YOUR help 15 Making iRock interactive 16 Create the iRock web page 17 Test drive 17 JavaScript events: giving the iRock a voice 18 Alerting the user with a function 19 Add the iRock greeting 20 Now let’s make the iRock really interactive 22 Interaction is TWO-way communication 23 Add a function to get the user’s name 24 Instant replay: what just happened? 27 Test drive iRock 1.0 28 table of contents xi Everything Has Its Place 2 In the real world, people often overlook the importance of having a place to store all their stuff. Not so in JavaScript. You simply don’t have the luxury of walk-in closets and three-car garages. In JavaScript, everything has its place, and it’s your job to make sure of it. The issue is data—how to represent it, how to store it, and how to find it once you’ve put it somewhere. As a JavaScript storage specialist, you’ll be able to take a cluttered room of JavaScript data and impose your will on it with a flurry of virtual labels and storage bins. storing data Your scripts can store data 34 Scripts think in data types 35 Constants stay the SAME, variables can CHANGE 40 Variables start out without a value 44 Initialize a variable with “=” 45 Constants are resistant to change 46 What’s in a name? 50 Legal and illegal variable and constant names 51 Variable names often use CamelCase 52 Plan the Duncan’s Donuts web page 56 A first take at the donut calculations 58 Initialize your data...or else 61 NaN is NOT a number 62 You can add more than numbers 64 parseInt() and parseFloat() convert text to a number 65 Why are extra donuts being ordered? 66 Duncan discovers donut espionage 70 Use getElementById() to grab form data 71 Validate the web form’s data 72 Strive for intuitive user input 77

2018-05-01

TrafficMonitor

在windows的任务栏显示上传下载网速,以及内存和CPU的使用情况。简介方便。

2018-05-01

sublime+注册码

亲测可用,window下版本,附带注册码。,很简介方便的一款编辑器。

2018-05-01

游戏之旅--我的编程感悟【有目录】

本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 部分目录如下: 第1 章计算机,游戏,我_ 我,云风,从二十年前的计 算机游戏萌芽阶段一路走来。计 算机,并不神秘。程序,也只是 表达计算机控制逻辑的符号而 巳。 第2 章算法,程序的灵魂 算法,先千计算机存在于世, 比编程语言本身更为蜇要C 语言 只是工具,算法才是灵魂。这里 简单介绍了数据结构的基本知 识、算法放率的评估方法、几种 NP 问题的定义。 这里对游戏中最常用的搜索 算法问题之一寻路问题做了些许 探讨,并展开介绍了在以后可能 被广泛使用的智能算法。最后用 几个实例探讨了优化问题。 1.1 计算机...................................................................... 2 1.2 计算机游戏............................................................., 3 1.3 计算机与我......................, ... , ................................... 7 1.3 .1 启蒙............................................................... 7 1.3 .2 编程..... , .................................... , .......... , ......... 9 13 2.1 程序=算法+数据结构............................................ 14 2.1.1 算法,.......................................................... ,, 15 2.1.2 数据结构,.................................................... 17 2.2 搜索算法,.............. . ............ .... ..................... . .. . ....... 23 2.2.l 地图寻路问题................................................ 23 2.2.2 博弈问题,...................................................... 27 2.2.3 更为广泛的运用............................................ 28 2.3 智能算法,............................................................... 29 2.3.1 遗传算法(Genetic Algorithm) .... ·........ …... 29 2.3.2 模拟退火算法(Simulated Annealing) ....... 31 2.3.3 禁忌搜索(Tabu Search) ............................. 33 2.3.4 人工神经网络 (Artificial Neural Network) …..... ….............. 34 2.4 优化,....................................................................... 36 2.4.1 质数问题....................................................... 36 1.4.2 俄罗斯方块竞赛............................................ 37 2.5 Apple II 上的编程之路.......................................... 39 XIII 第1 章计算机,游戏,我_ 我,云风,从二十年前的计 算机游戏萌芽阶段一路走来。计 算机,并不神秘。程序,也只是 表达计算机控制逻辑的符号而 巳。 第2 章算法,程序的灵魂 算法,先千计算机存在于世, 比编程语言本身更为蜇要C 语言 只是工具,算法才是灵魂。这里 简单介绍了数据结构的基本知 识、算法放率的评估方法、几种 NP 问题的定义。 这里对游戏中最常用的搜索 算法问题之一寻路问题做了些许 探讨,并展开介绍了在以后可能 被广泛使用的智能算法。最后用 几个实例探讨了优化问题。 1.1 计算机...................................................................... 2 1.2 计算机游戏............................................................., 3 1.3 计算机与我......................, ... , ................................... 7 1.3 .1 启蒙............................................................... 7 1.3 .2 编程..... , .................................... , .......... , ......... 9 13 2.1 程序=算法+数据结构............................................ 14 2.1.1 算法,.......................................................... ,, 15 2.1.2 数据结构,.................................................... 17 2.2 搜索算法,.............. . ............ .... ..................... . .. . ....... 23 2.2.l 地图寻路问题................................................ 23 2.2.2 博弈问题,...................................................... 27 2.2.3 更为广泛的运用............................................ 28 2.3 智能算法,............................................................... 29 2.3.1 遗传算法(Genetic Algorithm) .... ·........ …... 29 2.3.2 模拟退火算法(Simulated Annealing) ....... 31 2.3.3 禁忌搜索(Tabu Search) ............................. 33 2.3.4 人工神经网络 (Artificial Neural Network) …..... ….............. 34 2.4 优化,....................................................................... 36 2.4.1 质数问题....................................................... 36 1.4.2 俄罗斯方块竞赛............................................ 37 2.5 Apple II 上的编程之路.......................................... 39 XIII 第3 章编程语言 至少要学会一种编程语言, 才可能编写游戏软件。流传于世 的编程语言数以百计,但真正流 行的却不多。各种编程语言之间 有它们的共通性,但也并非能够 一通百通,甚至也不存在一种适 合娇决所有问题的语言。 我认为大部分游戏程序员都 应该掌握工作平台的汇编语言。 这对理解硬件, 写出更好的代码, 还有软件调试都有莫大的帮助。 第4 章前Windows 时代 现在, Win d ows 一统江山, 它帮我们稳藏了硬件的许多东西。 这一章是对1 0 年前知识的一个回 顾,它们如今已经沉寂在历史中, 或是被Windows 掩盖。但是, 作 为喜爱创根l河底的程序员,我们有 必要对Window s 之前的时代有一 些了解。 XIV 3.1 C 语言................................................, .. ,, .......... ,.,,. 46 3.2 BASIC ..................................................................... 50 3.3 Ct+ ......................................................................... 51 3 .4 汇编语言,............................................................... 54 3.4.1 概述.............................., ... , ....................... ,,, .. 55 3.4.2 程序的本质....., .. , ... , ...................................... 57 3.4.3 寄存器........................................................... 58 3.4.4 寻址方式....................................................... 60 3.4.5 汇编指令....................................................... 61 3.4.6 CIC++ 语言和汇编....................................... 62 3.4.7 ,J 、结... . .. .. . .. .. .... .... ....... .... .. . . .. ............ .. ........... 63 3.5 其他语言................................................................ 63 3.5.1 Forth .............................................................. 63 3.5.2 Lisp ................................................................ 64 3.5.3 Java····..................................................... ....... 64 3.5.4 Python 、Lua 、更多...................................... 65 4.1 386 保护模式......................................................... 68 4.2 VGA 至U VESA ...................................................... 70 4.2.1 超越BGI ...................................................... 70 4.2.2 VGA·....... ··· · ···............................................... 72 4.2.3 VESA 标准................................................... 72 4.2.4 花絮............................................................... 74 4.3 保护模式下的开发工具.... …... ……............. ………··75 4.4 闲话Allegro .......................................................... 81 4.4.1 用C 与汇编写成的程序库….... …·….............. 81 442 BITMAP···.....................................................8 2 4.4.3 Sprite···.. ·.. ·.... ·.. ·.. ··.. ·.. ·········.. ··.... ···············.. ··85 4.4.4 几何图形和3D··........................................... 89 4.4.5 数据文件............... .-....................................... 91 4.4.6 声音............................................................... 92 4.4.7 其他的部分................................................... 93 45 67 第5 章Windows 编程 如果我们在Window s 下开 发游戏,那么理惮Window s 系统 就是尤为重要的事情。Window s 只是一个操作系统的特例,不属 子计算机理论知识的范畴。这导 致了许多已经掌握了编程知识, 理论功底也很扎实的程序员, 面 对Window s 下的开发无可适从。 第6 章汇编优化 汇编优化, 是在高性能游戏 引擎设计中很难避免的一个环 节。虽然不用汇编去做优化依然 可以写出高性能的程序,但优化 却可以变得更好。 但是,这一章并非从汇编开 始谈起。相反,一开始我就花了 不少笔墨谈汇编之外的知识。即 使是一些技巧性的细节, 也并非 必须用汇编才可以做到。 这一章着重介绍了在CIC++ 中和汇编进行混合编程的方法和 技巧,然后才具体谈到汇编指令 的高效使用策略。 4.4.8 ,J 、结............................................................... 94 4.5 cfido 中国惠多网.................................................. 94 5.1 Windows 编程入门............................, ................. 104 5.1.1 Windows 版本综述...... ,, ..... , ........................ 105 5.1.2 操作系统的核心................ ., ........................ 107 5.1.3 Windows API 和DLL.. ·······......................... 110 5.14 COM··........................................................... 111 5.1.5 Windows 的窗口和消息处理与传递........... 114 5.1.6 Windows GDI .................................. ............ 125 5.2 控制游戏的速度,................................................. 130 5 .3 浅谈M FC .................. .. ......................................... 132 5.4 小结,............................................................. . ....... 132 6.1 浅谈代码优化............................................... ..... .. 138 6.2 并不仅仅是汇编.................................................. 139 6.2.1 在算法实现时减少上下文的依赖关系.. ….. 139 6.2.2 低效的静态变量.................................... ... ... 140 6.2.3 数据的组织.................................... ... .......... 141 6.2.4 消除除法..................................................... 142 6.2.5 避免过大的循环.......................................... 144 6.3 汇编和CIC++ 的混合编程.................................. 146 6.3.1 使用外置的汇编编译器.. . ....... …............. …·146 6.3.2 使用内嵌汇编·· ·· · ··· ···········........................... 148 6.3.3 C++ 的函数调用规则........ ……..................... 150 6.3.4 寄存器的使用...................................... ........ 152 6.3.5 _declspec(naked)· ·· ·.... · · ·· · · ··... ·... ·.... · ·· · · ·· · ··.... 152 6.4 指令使用的技巧.................................................. 153 6.4.1 LEA: 别样的内存寻址指令................……·153 6.4.2 BSWAP: 扩展寄存器的个数......... ….... …··154 101 135 XV 第7 章S-I M D 指令 单指令多数据(SIMD , Single Instructio n-Mu l tiple- D ata) 编程是 现代CP U 高速处理多媒体数据 的发展方向。好的工具摆在一边 不去用就是一种浪费。 这里介绍得多的是MMX 使 用技巧,这方而也是我用得比较 多的,勉强算得上经验丰富。 第8 章引擎中的优化 单从内容来看,这一章是本 书的独家内容。我得以成名的开 源游戏引擎“风魂”的几乎所有 优化策略都在这章公开出来。虽 然引擎源码一直都是公开的, 想 研究的人自然可以通过阅读代码 来学习,但是,由作者本人来解 释其中的优化策略,这是第一次 的文字记录。 XVI 6.4.3 缩短指令的宇节数............ . .... . .................…155 6.4.4 避免跳转指令............................................. 159 6.5 Pentium 的汇编优化策略...... ….......................... 161 6.5.1 UV 流水线................................................... 163 6.5.2 AGI 地址生成互锁 ( Address Generation Interlock)· · ………... 167 6.5.3 Pentium Pro, Pentium II 和Pentium III 的汇编优化策略......................................... 168 6.5.4 Pentium 4 的汇编优化策略…...... …............. 178 6.5.5 如何测试代码的速度…............................... 181 6.5.6 汇编能干的事情.......................................... 183 7.1 单指令多数据编程...... .. ..... ...... .. .. . .. .. ..... ... .. .. ...... 186 7.1.1 Alpha 混合.................................................. 187 7.2 MMX .................................................................... 191 7.2.1 MMX 的指令概况....................................... 192 7.2.2 SSE 及其对MMX 的扩展,......................... 194 7.2.3 SIMD 技术在C 语言环境下的使用...…….. 196 7.2.4 MMX 编码技巧.......................................... 197 7.2.5 SIMD 的应用举例...................................... 201 7.2.6 SIMD 编程注意要点. .................................. 203 7.2.7 SIMD 的性能检测....................................... 204 8.1 Blit 的优化........................................................... 207 8.2 脏矩形优化............................ . ............................. 209 8.2.1 "风魂”中改进的脏矩形算法...........…..... 215 8.2.2 滚动优化..................................................... 219 8.2.3 覆盖优化............................................. . ....... 222 8.2.4 脏矩形在3D 游戏界面中的运用....... .. .. . .... 224 8.2.5 时间和空间的权衡...................................... 229 8.2.6 关于估算..................................................... 230 185 205

2018-05-01

游戏人工智能编程精粹【目录+可搜索+可编辑】

本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 全部目录如下: 第1 农数学和物理学初探 1.1 数学····································································································2 1.2 物理学······························································································19 1.3 总结··································································································27 第2 章状态驱动智能体设计 2.1 11 么是有限状态机··········································································31 2.2 有限状态机的实现........................................ …... …......... …..... …..... 32 2.3 West World 项目···············································································36 2.4 使State 基类可重用····················· …................................................ 45 2.5 令局状态和状态翻转(State Blip) ……·……………………………………… 45 2.6 创建一个StateMachine 类..........…·················································46 2.7 弓I 入Elsa··························································································49 2.8 为你的FSM 增加消息功能............................................................ 50 第3 章如何创建自治的可移动游戏智能体 3.1 11 么是自治智能体··················"······················································64 3.2 交通工具模型.................................................................................. 65 3.3 更新交通丁-贝物理属性.. …... …....................................................... 67 3.4 操控行为.......................................................................................... 68 3.5 组行为(Group Behaviors) ........................................................... 86 3.6 组合操控行为(Combining Steering Behaviors) …………………… 91 3.7 确保无重叠...................................................................................... 96 3.8 应对大倡交通工具:空间划分………............ ….... ……... ……….. …… 97 3.9 平滑................................................................................................ 101 第4 章体育模拟(简单足球) 4.1 简单足球的环境和规则............... …........................... …..... …· …····104 4.2 设计AI ............................................................................................ 111 4.3 使用估算和假设............................................................................ 146 2 4.4 总结................................................................................................................................. 146 第5 农图的秘密生命:: 勹现一个图类~~~ 5.3 图搜索算法..................................................................................................................... 161 5.4 总结................................................................................................................................. 186 第6 农用脚本,还是不用?这是一个问题 6.1 什么是脚木语言............................................................................................................ 188 6.2 脚木语言能为你做些什么............................................................................................ 189 6.3 在Lua 中编写脚本........................................................................................................ 192 6.4 创建一个脚本化的有限状态自动机..……... ….... …………………………………………………·216 6.5 有用的链接..................................................................................................................... 221 6.6 丿f 个是一切都这么美妙................................................................................................ 221 6.7 总结.................................................................................................................................. 222 绾7 农概览《掠夺者〉游戏 7.1 关于这个游戏................................................................................................................ 224 7.2 游戏体系结构概述........................................................................................................ 225 7.3 触发器............................................................................................................................. 230 :: ;~ 言向考虑::: 7.6 总结................................................................................................................................. 252 第8 农实用路径规划 8.1 构建导航图..................................................................................................................... 254 ::二二:导航图::: 8.4 节点式路径或边式路径................................................................................................ 265 8.5 走出困境状态................................................................................................................ 282 8.6 总结................................................................................................................................. 284 第9 章日标驱动智能体行为 9.1 勇I 埃里克的归来........................................................................................................ 287 9.2 实现................................................................................................................................. 288 9.3 《掠夺者》角色所使用的H 标例了..…...............….. …...................... …................. …... 292 9.4 目标仲裁......................................................................................................................... 301 3 ::: ~:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: !~: 纳10 章揆糊逻辑 JO.I 普通集合....................................................................................................................... 317 口::二:变倡昙 10.4 模糊规则....................................................................................................................... 322 10.5 从理论到应用:给一个模糊逻辑模块编码……………·……………......……·……………… 331 10.6 《掠夺者》中是如何使用模糊逻辑类的………………..………………..... ….. …............... 343 10.7 库博方法....................................................................................................................... 344 10.8 总结............................................................................................................................... 347 拔............................................................................................: ........................................... 349 附录A C++揆板 函数模板.................................................................................................................................. 352 : :: 的困惑昙 附录B UML 类图 已言::.;·::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: !!! 关系·····················............................, ...................................................................................... 359 扂::: 附录C 设置你的开发环境 下载演示的可执行程序.......…....................................... …................. …................................. 366 下载并安装源{飞码................................................................................................................. 366 参考文献.................................................................................................................................. 367

2018-05-01

Direct3D游戏编程入门教程【目录+可搜索+可编辑】

本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 部分目录如下: 第4 章3D 基础、Gournud 蓿色、纹理映射基础······················23 4.1 3D 基刷: ·····························································································································23 4.2 押解顶点··························································································································25 : : :::: 曰r.;~; ~: 4.5 理解多边形(polygon)··· ··························· ··········· ·················· ···················· ··········· ·······26 4.6 理解法线(normal)·······································································································27 4.7 理解法线和Goumud 书色··························································································27 4.8 纹理映射(Texturn-Mapping) 某础····································28 4.9 小结·····································30 第5 章基础令仑令令· 矗...... 令· 令·········· 令· 令........ 令· 令········ 令· 令.... 矗...... 令`令·········· 令`矗········ 令· 令........ 令· 令.... 矗..... 令`令.. 矗· 矗...... 令········31 5.1 编译不例... 令· 令········ 令· 令························ 令· 令········ 令· 令.令········ 令· 令··········· 令· 令·········· 令· 令.......... 令.... 矗···········31 5.2 DicectX Graphics 通用体系结构3 3 5.3 Bas,c 刀、忏lj ........................................................................................................................ 34 5.3. I ConfirmDevic虾OneTimeScenelnit()和lnitDevic忒hjects() 函数37 5 3 .2 RestoreDev,ceObjects()方法·················································································37 5.3.3 FrameMove() 函数·································································································•s 5.3.4 Rende,() 函数·········································································································•6 5.3.5 Inva\idateDevic忒bjects() 函数···49 5.3.6 OeleteDeviceObjects() 函数·················································································50 5.3.7 Fina!Cleanup()lfi 数·······························································································50 5.4 Bas,c2 示例······················································································································51 5.4.1 InitDeviceObjects() 函数·······················································································53 5.4.2 RcstoreDevic心bjects() 函数··············································································54 5.4.3 Rende,() 函数·········································································································56 5.4.4 lnvalidateDevic心bjects() 函数5 8 5.4.5 DeleteDeviceObjects() 函数···················································58 5.4.6 Fina!Cle皿up() 函数··································································· ························58 5.5 Basic3 示例······················································································································59 5.6 Basic4 示例······················································································································60 2 目录 5.7 Bas1c5 示例................ 令· 令············· 矗····· 令.. 令· 令················· 令· 令··········· 矗·········· 令· 令···················· 令.令······66 5.8 ,J 、结.... 令······················ •••••••••••••••••••••••••••• 令················· 令· 令················· 令···················· 令· 令·········66 第6 章动画初步· 矗········ 令· 令··········· 矗... 令· 令··········· 矗· 矗· 令· 令`令.. 令········ 矗· 矗· 令· 令令··················· 令· 令··············· 令··········· 矗····67 6.1 理解变换与视「1·········· 矗... 令· 令··········· 矗... 令· 令··········· 矗... 令· 令··············· 令· 令··············· 令· 令·····················67

2018-05-01

3D游戏.卷2.动画与高级实时渲染技术有【目录+可搜索+可编辑】

本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 部分目录如下: 出版者的话 专家指导委员会 译者序 前言 第一部分高级游戏系统剖析 第1 章高级游戏系统剖析I : 构造过程 和静态光照... .. . . . . . .. .. . ... ... ... . .. ... I J. I 数据结构... . . . .. . . . . ... .. . . .. ... ... . . . ... . .. ... I I. I. I 顶点. .. ... ... ... ... ... ... ... ... .. . ... ... ... I I. I . 2 面· ··· · ·············· ········ ··········· · · · ·2 1.1.3 包围盒·· ········ ············ ·· · ··· · ·· ·····4 1.2 构造过程····· ···· ····· ···· · ····· ······· · ··· ····4 1.2.1 从场景几何中创建BS? 树… ········4 1.2.2 路径规划的凸体和PVS 计算… ······II 1.2.3 处理复杂的地形... …...... …... ··· ···13 1.2.4 BSP 叶节点中的面... ·· ···· ...... ······16 1.2.5 寻找叶凸休....................... . ······16 1.2.6 凸体和伪人口. . .... . .. .. .. ........... . . . 19 1.2.7 潜在可视集······························24 I .3 光照贴图的构造···· · ··········· · · ········· ···28 1.3. I 生成光照贴图的坐标····· · ……...... 28 1.3 .2 光照贴图的打包..... . ...............… 29 1.3.3 对光照贴图的解释·····················30 1.4 BSP 管理....... . ............................... 31 1.5 商级静态光照一辐射度…... …...... … 37 附录1.1 构造实践·· · ········· ··· ··· ············49 附录1.2 辐射度理论基础········· …······ ··· 64 第2 章高级游戏系统剖析0: 实时 处理. ..... . .... . .. ............、... . . . ... ... 69 2.1 视见和BSP······ ········· ·····················69 2. I. I 生成视见约束体的面…... ……...... 69 2.1.2 远近裁剪面和视见约束体…… · · ····75 2.2 照相机控制············· · ·· ··· · ·· ·········· ··· ·77 2 .3 使用BSP 的基本碰撞检测和反弹…..…·80 2.3.1 碰擅和BSP 遇历…...…………... … 80 2.3.2 粒子1场景检测和反弹.. ... .... .. .. .. 81 2 .4 特殊的碰撞检测和反弹........... ... . …... 83 2.4. 1 AABB 的定义···························84 2.4.2 AABB 类的定义和静态成员的 定义· ···· ······· · ············ · ···· · ·· .. ····84 2.4.3 碰撞检测和碰撞反弹….. . …......... 86 2.4.4 使用AABB 的伪碰撞反弹… ······· ·· 87 2.4.5 使用AABB 的碰撞检测…...... …... 88 2.4.6 AABB 顶点与场景面相交............ 89 2.4.7 场景顶点与AABB 面相交...... …... 90 2.4.8 AABB 边与场景边相交……... …... 92 2.4.9 更精确的碰撞检测……········· …... 95 2 .4.10 使用碰撞阙值...… ···· ··· ···········95 2.5 基本的路径规划······················· ·· ·····96 附录2.1 实时处理的演示. . ... .舍... .. ……... 102 第3 章高级游戏系统剖析III : 软件 设计与应用编程… .... .. . .. ……... 105 3.1 应用的种类··········· ······· · ··· ···········105 3. 1.1 插件········· ···············............ 105 3.1.2 前端······... ·•· •·•·•·•. •..•.......• •• .. 111 3 . 1.3 工具··· ··· ··· ··· ··· ··· ··· ··· ···... ··· ···I 15 3 .2 Fly3 D 引擎体系结构. . ........... . .. ... . ... . 115 3 . 2 I Fly Math· · · · · · · · · · · · · · · · · • · · · 115 3. 2 . 2 FlyDirectX· · · · ·· · · · · ·· · · · · ·· · · · · · · · · · · · ·JJ6 3.2.3 FlyRender······························118 3.2.4 FlyEngine··········· · ··················120 附录3. I 编写一个插件...…............ …... 130 第二部分实时渲染 第4 章实时渲染· ··· · ········ · · ··· •·••··.••••. 145 4 :1 简介............... ······......... ... ......... 145 4.2 顶点像素和贴图·· ······· …······ ...... ... 1必 4 .2. l 基本的逐像素着色……... ……... 1拓 4 .2 .2 着色和坐标空间……•.• • ……...... /48 4.2 .3 25 年来主流的插值着色方法 和颜色贴图···················· ·· · ····149 4.2.4 标量表示······························151 w 4.3 因式分解法... .. .... ······.................. 156 4.3.1 使用因式分解着色模型的逐像素 着色-~各向同性模型...…... … 157 4.3.2 使用因式分解着色模型的逐像素 着色一各向异性模型... . ..…… 162 4.4 BRDF 和真实材质············ ········ ·· · · ·· · 164 4.5 使用BRDF 进行逐像素着色... ... …... 167 4.6 环境贴图参数化. . ......................... 170 4.6.1 环境贴图参数化: 立方映射...…… 170 4.6.2 环境贴图参数化:球面映射……... 171 4.6.3 环境贴图参数化:对偶抛物面 贴图······ ······· · ···· · ········....... .. 174 4.6.4 环境贴图一可比点............… 176 4.6.5 立方贴图和向量规范化……. . .... 177 4.7 实现BRDF: 可分离的近似······.· ·· …... 177 4.8 着色语言和着色器········· · ··· ·· …...... 181 4 .8 . I 着色语言:简单的历史回顾….. … 181 4 . 8 . 2 RenderMan 着色语音·· ·· ········ …... 182 4 .8.3 实时渲染的着色语百... ……... ... 184 第5 章实时渲染:实践................. .... 192 5. I 基本着色器....... .................. . .... ... 192 5 . I. I 渲染状态. . .. . ............. ······:·····192 5.1.2 着色器排序....... . .... · ··· ·· ··· ······193 5 .1.3 着色器类的实现..... ...... . ......... 195 5.2 渲染状态·····•·" '.... ...... . .. ............. 196 5.2.1 全局设定........... .. ....... .... .... . . 196 5.2.2 局部设定... ·· ·· ·········· · · ·· ·· ·······196 5.3 着色器实例.... . ............... .. .. .. .. .. .. . 200 5.3.1 环境映射和恪映射效果一一 玻璃、金属和铭... ... . ...... ........... 201 5 .3 .2 移动发光告示牌. .. ......…·········202 5 .3.3 简单栅栏效果...…...…... …...... 203 5.3.4 高级栅栏效果............……...... 203 5.3.5 监视器效果· · ··············· ·········· 204 5.4 实时硬件渲染············· · · ···············207 5 .4.1 顶点编程.. . .. ... . .. ............... ... . 207 5.4.2 像素编程.... ... ... . . .. .... . ........ . .. 219 5.4.3 使用寄存结合器的像素编程..…·219 5 .4 4 纹理地址编程……… 223 5.4 .5 纹理地址编程一—Phong 映射·… . . 224 5.4.6 顶点和像素编程以及多步 蓿色器·········· ·· · ···· · ··········· · · ··224 5.5 动态纹理········· ······ ············ ·· ·· · ····224 5.6 特效......... ... . ...... .... . ........ .. . . .... . . 228 5 .6.1 燃烧尾迹............... .... ........ . .. 228 5.6.2 加速器.............. . ................ . . 230 5.6.3 脉冲星... ...... .. ......... . .......... .. 230. 附录5.1 使用和探索着色器...……… . . .… 233 附录5.2 NVIDIA GeFotce 3 上的顶点 编程· ······ ··························"·235 附录5.3 NVIDIA 寄存结合器操作..... .. ..… 237 第6 章几何处理...... . ... . ....... ......... ... 240 6 .1 简介·· ······ · ··· ·"0"'0'"0"''00············240 6 2 推动因素和定义...…… 241 6 .2 .1 离线和实时阶段·········· · ·.. ... , ... 241 6 .2 .2 拓扑因素............ ... . ... ........... 242 6.2.3 离散简化与连续简化... ……...... 242 6.2.4 物体内部分辨率变化.. .……...… 243 6.2.5 对称性/可逆性........... ... ...... .... 243 6.2.6 局部简化操作..................... . . . 243 6 3 排序(误差)标准...…….. . 244 6.3.1 排序标准一外观相似………… 244 6.3.2 排序标准一一局部体积不变.... . . 245 6.3.3 排序标准一二次误差度量. . … ·246 6.3.4 排序标准一简化外壳.. .... …... 247 6.4 简化与属性..... . ........ .. ................. 2岱 6.4 :1 简化与游戏纹理.................... . 250 6.4.2 简化和蒙皮模型...…........... .... 250 6.4.3 算法框架.. . ..... .. . ...... ... . ... . . .... 250 6.4.4 顶点去除算法的重新三角形 划分.... . ... ...... ...... . ........... . ... 251 6.5 实例分析..... ...... .. .......... ............. 252 6.5. I 实例分析)一一渐近式网格 技术.............. . ..................... 252 6.5 . 2 实例分析2一使用微分几何…. . . 256 6.5.3 实例分析3一网格重新划分 算法MAPS ......... ........ . ......... 260 附录6.1 数学背景............ …..... .... ...... 264 附录6.2 演示..... . ....... . . ..................... 269 第三部分动画制作 第7 章角色动画...... ........................ 271 7. I 简介.. . ............ ........................... 271 7.2 顶点动画与合成........ . .. ................ 274 7.3 骨架动画. .. ....... . .... . . .. ........... ...... 279

2018-05-01

3D游戏.卷1.实时渲染与软件技术【有目录+可搜索+可编辑】

本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 部分目录如下: 第1 章三维计算机图形学的数学 基础............ . ......... ... . ... .... ....... .. 1 1.1 处理三维结构..... ... .. ... .............. ... . .. 1 l.1.1 计算机图形学中的三维几何学 —仿射变换............ ···············1 1.1.2 改变坐标系的变换…... .. .………… 6 1.2 向量与计算机图形学…………………… 7 1.2. l 向量加法···· · ··· ·· · ·· ··················· ·7 2.4 应用建模器或编辑器的高级方法…... . .. 38 第3 章建模与表示2一~多边形网格的 经济性························· · ·······-- · 幻 3 .1 多边形模型压缩... ……········· …………幻 3 .2 几何形状压缩(每个顶点的信息)……... 幻 3.3 编码连接....................................... 42 3.4 三角链................... .... ................... 42 3.5 局部与全局算法......... …...... ……... …“ 3.6 顶点缓冲的应用... ……...... …... …...... 44 3.7 细节层次处理......…........................ 46 第4 章建模与表示3一地形 特殊化..... . .. . ......... .................. 51 4.1 简介............................................. 51 4.2 简单的高度场地形……………... …... … 51 4.3 地形的建模过程一分形.............….. 52 1.2.2 向量的长度...…......... . . . .. . ......… 8 1.2.3 法向量与叉积 4.4 地形WD: 三角二叉树…·· · ··· …...... … 53 . .................... .... .. 8 1.2.4 法向量与点积 4.5 用光线投射的方法渲染地形………·….. 56 ......... .................. 9 第5 章建模与表示4-贝济埃、B 样 1.2.5 与法向量相关的向量...………...… 10 1.3 光线与计算机图形学.. .. ..... ………...... 11 1.3. I 光线几何学一交点...…...... ·· ····11 1.3 2 光线与球体的交点….. . ...…· 12 1.3 .3 光线与凸多边形的交点…............ 12 1.3 .4 光线与长方体的交点.. .………...... 15 1.4 多边形性质的双线性插值...…... …...... 15 1.5 使用SIMD 指令集的基础数学 弓1 擎.......................................... . .. 16 第2 章建模与表示l一对比回顾与多 边形网格模型.. . …... ………...... 24 2 .1 简介.... ..... .................... ... ............ . 24 2.2 三维物体的多边形表示......... ... …...... 27 2.2.1 创建多边形对象……...... . .. …...... 30 2.2.2 多边形对象的手工建模…... ….:. … 31 2.2.3 多边形对象的自动生成………...… 32 2.2.4 多边形对象的交互式/数学 生成... ..... .... . .......................... 32 2.3 高级方法一一构造性实体几何法…...… 36 条和细分曲面…... ……………… 57 5. l 简介......... ...... . . ...... ............ .. . . ... .. . 57 5.2 贝济埃由线. . ... .. ................ . ...... …... 58 5 .2.1 分段贝济埃曲线的连接…... …... … 63 5.2.2 贝济埃曲线性质小结…………...… 64 5.3 B 样条曲线.......

2018-05-01

[游戏编程精粹2].(Game.Programming.Gems.2).(美)Mark.A.Deloura.扫描版【有目录+可搜索+可编辑】

本版本与网上其他资源不同之处在于,此版本可进行编辑,搜索,已进行内容识别扫描。可全选,可编辑,可剪切文字。 部分目录如下:

2018-05-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除