前言
做软件开发,读源码必不可少,平时工作比较忙,只能在放假学习一下;
大佬推荐了我一个博客传送门
我基本上打算按照上面的博客学习和阅读,本专栏或者博客只是记录笔记与心得
1.lua介绍
Lua是解释型语言
,通过对Lua的语言进行 语法解析 ,然后生成二进制字节码,然后转由C语言进行执行操作。
解释性语言与编译型语言相对
编译型语言
,则会进行编译后生成机器码,直接由机器进行执行即可,执行效率会比较高。
lua官网:http://www.lua.org/
源码下载:http://www.lua.org/download.html
2.lua虚拟机
lua虚拟机核心处理流程:文件读取、解析成语法Token、编译成二进制操作码、执行二进制操作码
2.1 文件读取
文件读取操作主要涉及文件为lzio.c。
Zio结构主要存储文件流读取的状态信息。
lzio.h文件定义了两个函数:luaZ_init,luaZ_fill
- luaZ_init函数用来IO数据结构的初始化
- luaZ_fill函数进行文件内容的读取和buf填充