如何阅读本书
1.通读式阅读
如果你是有一定基础但缺乏用底层的视角建立系统观的经验和经历,请从头到尾完全按照书上所展示的实验一步步分析,最好能自己提出新问题并验证。如果确有难以解决的问题,可发到作者邮箱hhan@uestc.edu.cn。对于常见问题,笔者也会在博客中与大家分享、探讨,http://blog.sina.com.cn/u/2103052793。本书更重体验式,所以单从简单阅读来看,多会产生一种知识点散漫之感,但如能静心用程序实证,所有的方法和系统感自会悄然建立。真正的知识探索过程本就是多线索、离散化、过程式的,在一种反复的淬炼中自然会升华,这也是工程性手艺活的特点。最典型的就是中国功夫的训练,或站桩,或一招两式,反复打磨,似乎全无体系,一朝顿悟,自能豁然贯通。这是东方式的体悟和西方式的解析解构的差别。
当然,如果你在经历了实证过程后,还需要有人引领你提炼出书中的知识架构,可参考第2种方法。如果你在之后需要快速查找一些知识点,可参考第2种方法。
2.快速索引式
如果你是教师或有很深厚功力的读者,希望从本书中快速查找自己感兴趣的部分阅读,可参阅本节提供的知识导图和索引,快速找到知识点。
总体知识导图是笔者总结的本书所涉及的知识点的架构,可帮助读者回忆和总结,由三部分组成:一是简略总图,能帮助你了解其概况;二是较细的总图,其中主要知识点均有相关索引标注,你能快速跳到感兴趣处;三是分图,针对各主要部分展示最全面的知识索引和架构。
标注分两种:一种是直接给出章节号,另一种是给出章节及其中的关键词索引。后者使用方式如下:例如,知识导图中某知识点如下,先说明该知识点在5.3.3节中,关键词是“统一API法”,然后在5.3.3节正文的外侧查找如下所示的图标,“统一API法”标注的行就是相关内容。
![](https://epubservercos.yuewen.com/A3DD20/3590603703569101/epubprivate/OEBPS/Images/figure_0009_0001.jpg?sign=1739698047-OsczzVS31NBJzjMnICrbHs39TwhCo1x2-0-799fc344b152b74784ad7ac9bb25cc9a)
知识导图的标注
![](https://epubservercos.yuewen.com/A3DD20/3590603703569101/epubprivate/OEBPS/Images/figure_0009_0002.jpg?sign=1739698047-DiJlA01Vb0Liok5j2vHEJiedMujv4dEw-0-86efb8eeaa7bca234f379c8549897f19)
正文中的标注
3.章首页
每章都有首页,其中展示了本章所需前导知识点及其所在位置,以及本章对后续章节知识的支撑作用。如果你直接切入到某章,“需准备的知识”辅助你有效阅读,“为你提供的能力则”让你明了本章内容有何价值。
![](https://epubservercos.yuewen.com/A3DD20/3590603703569101/epubprivate/OEBPS/Images/figure_0010_0001.jpg?sign=1739698047-IvgRXSLJuVoSc321rnDMK2lnOHVE7U37-0-d61fecc404ffa69f7bd1aa5336f96ec2)
导图1.1 switch 语句机制探索
![](https://epubservercos.yuewen.com/A3DD20/3590603703569101/epubprivate/OEBPS/Images/figure_0011_0001.jpg?sign=1739698047-qidqfzR13gfXwMyF0Tw2nLPk5WKsIbtx-0-db51704de5596b13a8ef91f9bab5a57c)
导图2.1 异常机制探索
![](https://epubservercos.yuewen.com/A3DD20/3590603703569101/epubprivate/OEBPS/Images/figure_0012_0001.jpg?sign=1739698047-Rg1bAK48zS2Xmqpx0j6SalGGtwYh4LvO-0-e36115b3ff9cfd4019b898ad6b265eb3)
导图3.1 分析COFF中重定位相关数据结构
![](https://epubservercos.yuewen.com/A3DD20/3590603703569101/epubprivate/OEBPS/Images/figure_0013_0001.jpg?sign=1739698047-PdOzijsf7djq1hFlq8AUTpo29QjaEddZ-0-73da0abea3986d8f1308ebb266567075)
导图4.1 分析dynamic_cast 工作原理
![](https://epubservercos.yuewen.com/A3DD20/3590603703569101/epubprivate/OEBPS/Images/figure_0014_0001.jpg?sign=1739698047-pZJSnW2kf664jfCabluaTuer9myOLkkc-0-219887bf83848f51f46af50add1428d1)
导图5.1 线程类出错分析
![](https://epubservercos.yuewen.com/A3DD20/3590603703569101/epubprivate/OEBPS/Images/figure_0015_0001.jpg?sign=1739698047-olfhLjxenXuxoITmHXbA0V0kaPhDfILz-0-558c5872111ec6e31f48316ef3f064c1)
导图6.1 delete 错误解决路线图
![](https://epubservercos.yuewen.com/A3DD20/3590603703569101/epubprivate/OEBPS/Images/figure_0016_0001.jpg?sign=1739698047-wwbRZTzJimK96pEmIZpkythSQv1PiFG4-0-c95c815a57b3bdcab4042907248da598)
面向对象设计及其底层机制的相关影响
![](https://epubservercos.yuewen.com/A3DD20/3590603703569101/epubprivate/OEBPS/Images/figure_0017_0001.jpg?sign=1739698047-XE9b0hdiudDQzo77eXSTcrh31qhuVGov-0-ee107bcdbf53eb3ed0458fdff7c07ad7)
调试相关
![](https://epubservercos.yuewen.com/A3DD20/3590603703569101/epubprivate/OEBPS/Images/figure_0018_0001.jpg?sign=1739698047-SoJexNLiJn1DHFMIaMt1KQqdvc2dXCII-0-c276313ed9b4377ebb4b6ed27ed6d56a)
总体框架构(略)
![](https://epubservercos.yuewen.com/A3DD20/3590603703569101/epubprivate/OEBPS/Images/figure_0018_0002.jpg?sign=1739698047-NsilBf9XcF70ERw1WK6Jh4KHtFMt9LBx-0-c5c41ed26804947d13e4326bb3059b3a)
自我学习构建程序的方法
![](https://epubservercos.yuewen.com/A3DD20/3590603703569101/epubprivate/OEBPS/Images/figure_0019_0001.jpg?sign=1739698047-pXT7DwPnUgftlg1psXywup6BQ4RKjG9C-0-df7d557ae145deb1f023809b7ffb3c29)
底层观