Skip to content

功能请求:支持 Lua 5.5 #1218

@simlelin

Description

@simlelin

功能描述

希望 xLua 官方支持 Lua 5.5,包括 Lua 5.5 源码集成、各平台 native plugin 构建脚本,以及对应的 Unity 插件产物。

目前 xLua 官方仓库中可以看到 Lua 5.3 / Lua 5.4 / LuaJIT 相关源码和构建脚本,但暂未看到 Lua 5.5 / lua55 相关支持。

需求背景

Lua 5.5 已经发布。部分 Unity 项目可能希望评估或迁移到新的 Lua 运行时,以便使用新的语言/runtime 改进,并降低后续长期维护成本。

对于生产项目来说,xLua 的 Lua 版本升级并不是简单替换源码即可完成,通常还涉及:

  • 多平台 native plugin 编译;
  • Lua C API 兼容性;
  • xlua.c / LuaDLL 适配;
  • 第三方 Lua C 扩展兼容性;
  • Unity / IL2CPP 平台验证;
  • coroutine、hotfix、C# binding 等核心能力回归测试。

如果由各项目自行维护 Lua 5.5 fork,成本和风险都会比较高。因此希望官方能提供标准支持。

期望方案

希望能像现有 Lua 5.3 / Lua 5.4 一样,增加 Lua 5.5 官方支持,例如:

  • build/ 下加入 lua-5.5.x 源码;
  • 增加各平台 make_*_lua55.* 构建脚本;
  • 更新 CMake / native plugin 构建配置;
  • 如有必要,增加对应插件输出目录,例如 plugin_lua55
  • 补充 Lua 5.5 兼容性说明和已知限制;
  • 对常见 xLua 场景进行回归测试:
    • C# 调 Lua;
    • Lua 调 C#;
    • coroutine;
    • hotfix;
    • 64 位整数处理;
    • 第三方 Lua C 扩展;
    • IL2CPP 平台。

替代方案

项目可以自行 fork xLua 并手动替换 Lua runtime,但这需要维护多平台构建和兼容性验证,对生产项目来说风险较高。

如果官方能支持 Lua 5.5,会更利于 Unity 项目安全、稳定地评估和迁移。

感谢 xLua 团队的维护!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions