首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >luajit不能钩住“尾部返回”

luajit不能钩住“尾部返回”
EN

Stack Overflow用户
提问于 2016-07-02 17:12:15
回答 1查看 494关注 0票数 1

我们知道Lua有一个库函数debug.sethook,当任何函数返回时,

钩子函数通过事件"return“或"tail return”调用,但LuaJIT不钩子"tail return“。

有没有什么方法可以关闭LuaJIT的特殊化,让它钩住“尾部返回”?

EN

回答 1

Stack Overflow用户

发布于 2016-07-02 23:53:46

这是LuaJIT实现的一个“特性”,因此您不太可能将其关闭。作为LuaJIT suggested的作者,您可以跟踪钩子中的堆栈深度,但不能专门跟踪尾部调用的返回。

注意,Lua也从tail returns移到了tail calls:“对于调用事件,event可以是LUA_HOOKCALL,对于尾部调用,event可以是正常值,也可以是LUA_HOOKTAILCALL;在这种情况下,将没有相应的返回事件。”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38158473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档