我创建了一个表,并为lua_pushcfunction
分配了一个名为mytable:myfunction()
的方法。在不同的(回调)上下文中,必须在Lua脚本中覆盖myfunction
。出于某些原因,如果我从C主机调用myfunction
,我需要知道,如果myfunction
仍然是c函数或被脚本替换。
有没有办法测试(来自C),如果C方法仍然附加或被某些Lua代码替换?
答案 0 :(得分:7)
是的,您可以使用lua_iscfunction
。
答案 1 :(得分:0)
另一种可能性是使用lua_tocfunction
。这样您还可以检查您获得的C函数是否是您期望的函数。