如果我有一些像这样的lua代码:
doSomething(function()
print("Hello!")
end)
如何使用C API为doSomething创建C Lua函数,然后保存传递给它的函数以便以后执行?
答案 0 :(得分:3)
这只是堆栈上的正常条目。用lua_isfunction()
检查然后使用luaL_ref()
生成引用(以便垃圾收集器不会窃取它),然后可能lua_topointer()
存储指向此对象的指针,取决于什么你想用它做什么。
当你完成它只是一个luaL_unref()
。