import{_ as t,c as a,o,m as e,a as s}from"./chunks/framework.Cy9JvDAg.js";const k=JSON.parse('{"title":"8 - 版本兼容性相关","description":"","frontmatter":{"title":"8 - 版本兼容性相关","footer":true,"lastUpdated":true,"outline":false},"headers":[],"relativePath":"8.md","filePath":"8.md"}'),n={name:"8.md"},l=e("h1",{id:"_8-版本兼容性相关",tabindex:"-1"},[s("8 - 版本兼容性相关 "),e("a",{class:"header-anchor",href:"#_8-版本兼容性相关","aria-label":'Permalink to "8 - 版本兼容性相关"'},"​")],-1),r=e("p",null,"我们在这里列出了从Lua 5.3迁移到Lua 5.4的过程中你可能会遇到的兼容性问题。",-1),_=e("p",null,"你可以通过使用适当的选项来编译Lua以避免一些兼容性问题（参见 luaconf.h 文件）。然而，所有的这些兼容选项在将来都会被移除。通常情况下，这些选项被移除后就会出现兼容性问题了。所以在任何时候，你只要有机会，就应当尝试使用关闭了所有兼容选项编译某个版本的Lua中测试你的代码。这将会比较容易的迁移到新版本Lua。",-1),c=e("p",null,"Lua版本变化时通常会改变 C API 的内部实现方式，例如修改其常量定义或者是宏方法的实现。因此，你永远不该假设二进制文件在两个不同的Lua版本中是兼容的。使用新的版本时通常应该重新编译 Lua API 的客户端程序。",-1),d=e("p",null,"类似的，Lua版本变化会改动预编译代码块的内部表示；预编译代码块在不同的Lua版本中也是不兼容的。",-1),u=e("p",null,"不同版本之间的官方发行版本中标准路径可能也会变化。",-1),i=[l,r,_,c,d,u];function p(h,f,m,L,x,P){return o(),a("div",null,i)}const B=t(n,[["render",p]]);export{k as __pageData,B as default};
