谷歌搜索了一段时间,不知道发生了什么。所以我有一个名为 luaScript 的类,它处理 lua 脚本(令人惊讶!我知道。),在当前状态下,无法退出或暂停当前正在执行的脚本。
我发现了钩子,它允许我在每次发生事情时运行代码。还发现了 2009 年的一个很酷的 stackoverflow 问题,展示了如何使用它们。
复制代码,完成钩子,尝试编译,然后......什么都没有。只不过是一个错误,说我传递的函数 ( void hookRoutine(lua_State *L, lua_Debug *ar)
) 与类型不兼容lua_Hook
(我找到了总 bs,因为据我所知,它lua_Hook
的定义typedef void (*lua_Hook) (lua_State *L, lua_Debug *ar);
正是我给它的。)
这是我复制的代码:
lua_sethook(mL, hookRoutine, LUA_MASKCOUNT, 0);
mL
作为 lua 实例并hookRoutine
作为钩子。
到目前为止我尝试过的事情:
lua_Hook hookRoutine
lua_sethook(mL, &hookRoutine, LUA_MASKCOUNT, 0);
lua_sethook(mL, lua_Hook(hookRoutine), LUA_MASKCOUNT, 0);
我完全被这件事难住了,已经在谷歌上搜索了几个小时,有人可以解释一下我犯了什么愚蠢的错误吗?