摘要: ##8.7分部方法 解决两个问题(相对子类覆盖基类虚函数的做法): 1,摆脱“非密封类”的限制。 2,好处在于什么都不做的时候 省掉,空函数的调用(虚函数-空函数)。 分部的方法的核心就是在一个地方定义,在另外一个地方声明,只要定义了就可以在代码里使用,如果没有声明,在编译器会自动删除调用的代码。 阅读全文
posted @ 2020-07-13 15:20 天山鸟 阅读(141) 评论(0) 推荐(0) 编辑
摘要: IL代码检测Main的代码引用的所有类型,分配一个内部结构来管理都引用类型的访问 jitcompiler: 1 在元数据中查找被调用的方法 2 从元数据中获取该方法的IL 3 分配内存块 4 将IL编译成本机cpu指令,存到3分配的地址 5在type表修改与方法对应的条目,使它指向步骤3的内存块 6 阅读全文
posted @ 2020-07-13 14:34 天山鸟 阅读(178) 评论(0) 推荐(0) 编辑
摘要: ##4.4运行时的相互关系 (源代码、IL、JIT编译的代码之间的关系) CLR创建线程时,会创建1M的栈。用于方法传递实参和方法内部的局部变量。(高位向低位构建) 线程栈的工作流程: 执行的前后会有两个额外的方法初始化和收尾处理。 A、局部变量压入栈 B、 C、 下图过程解释: 1 堆中初始化类型 阅读全文
posted @ 2020-07-13 11:35 天山鸟 阅读(214) 评论(0) 推荐(0) 编辑
摘要: // 这里需要问一下:upval和一般的对象有什么区别?为什么要单独一个函数来处理? void luaC_linkupval (lua_State *L, UpVal *uv) { global_State *g = G(L); GCObject *o = obj2gco(uv); o->gch.n 阅读全文
posted @ 2020-07-13 11:11 天山鸟 阅读(319) 评论(0) 推荐(0) 编辑
摘要: ##Unicode 将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是 Unicode,就像它的名字都表示的,这是一种所有符号的编码 ##UTF-8 UTF-8 就是在互联网上使用最广的一种 Unicode 的实现方式。其他实现方式还包括 UTF-16(字 阅读全文
posted @ 2020-07-13 09:42 天山鸟 阅读(141) 评论(0) 推荐(0) 编辑