美文网首页
基础: Lua引擎组成

基础: Lua引擎组成

作者: 码上述Andy | 来源:发表于2022-03-03 06:21 被阅读0次

    Lua引擎组成

    1.Lua核心模块:
    虚拟机、编译器/解释器、GC、标准库、内嵌辅助库、C Api。

    core_zw.png

    1).虚拟机核心文件
    虚拟机(lvm.c)、函数调用以及栈管理(ldo.c )、函数原型及闭包管理(lfunc.c )、垃圾回收(lgc.c)、内存管理接口(lmem.c)、对象操作(lobject.c )、虚拟机字节码定义(lopcodes.c)、全局状态机(lstate.c)
    2).源代码解析以及字节码预编译
    代码生成器(lcode.c)、词法分析器(llex.c)、解析器(lparser.c )等
    3).内嵌库
    内嵌库的初始化(linit.c)、基础库(lbaselib.c)、位操作库(lbitlib.c)、IO库(liolib.c)、数学库(lmathlib.c)、OS库(loslib.c)、字符串库(lstrlib.c)、表处理库 (ltablib.c)等。
    4).可执行的解析器,字节码编译器
    解释器(lua.c)、编译器(luac.c )。

    2.Lua C 暴露API主要三部分:
    1).虚拟机初始化。2).入栈、出栈操作。3).基础库、内嵌辅助库。

    3.虚拟机内部依赖关系

    rel_zw.png

    4.代码量:
    粗略统计Lua5.4.3代码总行数:29469(包括头文件、注释和空行),核心代码大概不到20000行左右。在我们rtc sdk(windows平台)源码依赖编译包体分别增加0.19M(64位)、0.17M(32位)【裁剪之后】。

    相关文章

      网友评论

          本文标题:基础: Lua引擎组成

          本文链接:https://www.haomeiwen.com/subject/hmderrtx.html