1. 导出标准 C API。 该 DLL 对外暴露 lua_* 与 luaL_* 两大系列函数,涵盖 luaL_newstate、luaL_openlibs、luaL_loadbuffer、lua_pcall、lua_pushnumber、lua_tostring 等接口,宿主程序通过隐式导入或 LoadLibrary 与 GetProcAddress 显式加载后即可调用。
2. 虚拟机生命周期与运行时管理。 负责创建、维护与销毁 lua_State,管理调用栈、注册表、全局环境、元表机制、协程调度以及增量式垃圾回收。
3. 脚本编译与执行。 将 Lua 源码或预编译字节码加载进内存,在受保护调用模式下执行,并通过错误码与栈顶信息向宿主返回异常,避免脚本错误直接终止进程。
4. 数据类型与宿主桥接。 在 C/C++ 与 Lua 之间完成数值、字符串、表、函数、userdata 的压栈与取值转换,支撑 C 函数注册为 Lua 模块,实现双向互操作。
5. 嵌入式脚本引擎基础。 游戏客户端、网络设备固件、工控与测试软件,乃至部分安全工具,都借助它实现 mod 加载、插件扩展、界面配置与业务逻辑热更新。