我个人的习惯是带着问题去研究一个新题目,比如这次阅读Lua代码,暂列下面这些问题。
1)什么是基于栈、基于寄存器的虚拟机(VM)设计?Lua如何实现基于寄存器的设计?
2)Lua如何解析一段代码,生成中间代码?
3)Lua如何使用VM运行中间代码?
4)Lua如何实现GC机制?
5)ipairs与pairs的不同(这是前几天写代码时发现的)?
6)Lua如何实现闭包功能?
7)Lua如何实现协程功能?
8)Lua与c语言交互时栈的变化?
9)如何为Lua增加一个continue关键字?
10)Lua代码中常用的C语言编程技巧有那些?
11)table如何实现的?
12)如何实现的hook机制?
13)如何实现的debug机制?
暂列这些,以后再添。