
C++
文章平均质量分 85
sunbxonline
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《深度探索C++对象模型》读书笔记
第一章关于对象 C++的模型可以有多种实现方式,例如表驱动,对象模型等,如下是对象模型的实例,其中类的静态变量和静态函数单独放在类之外,包含类的虚函数的函数指针放在一个称为virtual table的虚表中,该虚表中的第一个指针通常指向类的类型信息,用于实现RTTI(runtime type information) 第二章 The semantics of Consructors构造函数原创 2014-03-02 21:28:39 · 693 阅读 · 0 评论 -
v8的初始化
isolate.cc中定义的 struct StaticInitializer { StaticInitializer() { Isolate::EnsureDefaultIsolate(); } } static_initializer; 这个变量是一个Global变量,在C++初始化,早于main函数被调用之前就被调用了。 Isolate::EnsureDefau原创 2014-03-02 21:47:34 · 2791 阅读 · 0 评论 -
v8的Heap中RootObject的初始化
Heap类中有一个Object* root_[],这个数组是在Heap::CreateHeapObjects方法中初始化的,root_数组非常重要,其中包含了各种类的Map对象,和其他非常重要的全局对象。对于root_数组的存取,Heap一以贯之的使用了宏定义的方式 1.root_数组的索引 enum RootListIndex { #define ROOT_INDEX_DECLARAT原创 2014-03-02 21:51:15 · 1389 阅读 · 0 评论 -
v8中的visitor模式
在设计模式中,有一种visitor模式,它给出了一种在编译器构造时使用的经典模式,如下图所示: 语法树的节点存在不同的类型,在不同的编译阶段对这些节点的操作是不同的,为了避免操作与数据的耦合,产生了visitor模式,如下图所示: 实际上,基于以下的矩形空间考虑,可以理解的更加清楚 AssignmentNode VariableNode Type原创 2014-03-02 21:45:03 · 1363 阅读 · 0 评论