Lua虚拟机
解释性脚本语言与编译型语言区别:
- 由于每个脚本语言都有自己的一套字节码,与具体的硬件平台无关,所以不用修改脚本代码,就能运行在各个平台上。硬件、软件平台的差异都由语言自身的虚拟机解决
- 由于脚本语言的字节码需要由虚拟机执行,而不像机器代码这样能够直接执行,所以运行速度比编译型语言差不少
虚拟机需要完成如下工作:
- 将源代码编译成虚拟机可以识别执行的字节码
- 为函数调用准备调用栈
- 内部维持一个IP(指令指针)来保存下一个将执行的指令地址。
- 模拟一个CPU的运行:循环拿出
解释性脚本语言与编译型语言区别:
虚拟机需要完成如下工作: