Lua从C语言中获取并执行函数。

如果我有像这样的一些 lua 代码:

doSomething(function()
                print("Hello!")
            end)

我如何使用 C API 创建 C Lua 函数来使之后可以保存传递给它的函数以在以后的日期执行?

原文链接 https://stackoverflow.com/questions/5558454

点赞
stackoverflow用户107375
stackoverflow用户107375

这只是堆栈上的正常条目。使用 lua_isfunction() 进行检查,然后使用 luaL_ref() 生成一个引用(以防垃圾收集器将其回收),接着可能会使用 lua_topointer() 存储这个对象的指针,具体取决于你想要做什么。

完成后,只需使用 luaL_unref()

2011-04-05 23:05:35