八、与之前版本不兼容的地方

这里我们列出了把程序从 Lua 5.2 迁移到 Lua 5.3 会碰到的不兼容的地方。你可以在编译 Lua 时定义一些恰当的选项(参见文件 luaconf.h),来回避一些不兼容性。然而,这些兼容选项以后会移除。

Lua 的版本更替总是会修改一些 C API 并涉及源代码的改变。例如一些常量的数字值,用宏来实现一些函数。因此,你不能假设在不同的 Lua 版本间可以做到二进制兼容。当你使用新版时,一定要将使用了 Lua API 的客户程序重新编译。

同样,Lua 版本更替还会改变预编译代码块的内部呈现方式;在不同的 Lua 版本间,预编译代码块不兼容。

官方发布版的标准路径也可能随版本变化。