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