gpt4 book ai didi

lua - 如何预编译传递给 luaL_loadbuffer() 的 Lua?

转载 作者:行者123 更新时间:2023-12-04 20:22:54 41 4
gpt4 key购买 nike

我正在使用 Lua“C”API 函数 luaL_loadbuffer() 来运行 Lua 代码。

我有一小部分 Lua block ,我调用了很多很多次。但是每次我调用 luaL_loadbuffer() block 都会重新编译。这似乎非常低效。 chunk 引用的大部分代码都是预编译的,但为什么每次都需要重新编译 chunk 本身呢?我怎样才能避免这种重新编译?

我可以将预编译 block 传递给 luaL_loadbuffer() 吗?

我可以复制返回的 Lua 堆栈并重新使用它吗?

还有其他一些聪明的方法吗?

最佳答案

继续使用luaL_loadbuffer加载脚本。 加载这里的意思是预编译。只需将留在堆栈中的函数保存在程序中的某处(或者如果可以的话,将其留在堆栈中)。当需要运行脚本时,lua_pushvaluelua_pcall 它。

关于lua - 如何预编译传递给 luaL_loadbuffer() 的 Lua?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27830054/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com