检查功能是否在C或Lua中实现

时间:2013-08-12 10:46:50

标签: c function types lua

我创建了一个表,并为lua_pushcfunction分配了一个名为mytable:myfunction()的方法。在不同的(回调)上下文中,必须在Lua脚本中覆盖myfunction。出于某些原因,如果我从C主机调用myfunction,我需要知道,如果myfunction仍然是c函数或被脚本替换。

有没有办法测试(来自C),如果C方法仍然附加或被某些Lua代码替换?

2 个答案:

答案 0 :(得分:7)

是的,您可以使用lua_iscfunction

答案 1 :(得分:0)

另一种可能性是使用lua_tocfunction。这样您还可以检查您获得的C函数是否是您期望的函数。