Skip to content

8 - 版本兼容性相关

我们在这里列出了从Lua 5.3迁移到Lua 5.4的过程中你可能会遇到的兼容性问题。

你可以通过使用适当的选项来编译Lua以避免一些兼容性问题(参见 luaconf.h 文件)。然而,所有的这些兼容选项在将来都会被移除。通常情况下,这些选项被移除后就会出现兼容性问题了。所以在任何时候,你只要有机会,就应当尝试使用关闭了所有兼容选项编译某个版本的Lua中测试你的代码。这将会比较容易的迁移到新版本Lua。

Lua版本变化时通常会改变 C API 的内部实现方式,例如修改其常量定义或者是宏方法的实现。因此,你永远不该假设二进制文件在两个不同的Lua版本中是兼容的。使用新的版本时通常应该重新编译 Lua API 的客户端程序。

类似的,Lua版本变化会改动预编译代码块的内部表示;预编译代码块在不同的Lua版本中也是不兼容的。

不同版本之间的官方发行版本中标准路径可能也会变化。