问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

计算机程序开发中系统而提供了哪些接口类函数呢?

发布网友 发布时间:2022-05-11 07:37

我来回答

1个回答

热心网友 时间:2023-10-08 22:46

系统为我们提供了延续函数,携程函数,获取信息函数等,

1.比如:这个函数等价于调用 lu a_yieldk,不同的是不提供延续函数(参见。 因此,当线程被延续,线程会继续运行调用 l ua_yield 函数的函数。
让出协程(线程)。
2.当 C 函数调用了 lu a_yieldk, 当前运行的协程会挂起,启动这个线程的 l ua_resume 调用返回。 参数 nresults 指栈上需返回给 l ua_resume 的返回值的个数。
当协程再次被延续时, L ua 调用延续函数 k 继续运行被挂起(参见)的 C 函数。 延续函数会从前一个函数中接收到相同的栈, 栈中的 n 个返回值被移除而压入了从 lu a_resume 传入的参数。 此外,延续函数还会收到传给 lu a_yieldk 的参数 ctx。
通常,这个函数不会返回; 当协程一次次延续,将从延续函数继续运行。 然而,有一个例外: 当这个函数从一个逐行运行的钩子函数(参见) 中调用时,lu a_yieldk 不可以提供延续函数。 (也就是类似 l ua_yield 的形式), 而此时,钩子函数在调用完让出后将立刻返回。 L ua 会使协程让出,一旦协程再次被延续, 触发钩子的函数会继续正常运行。
当一个线程处于未提供延续函数的 C 调用中,调用它会抛出一个错误。 从并非用延续方式(例如:主线程)启动的线程中调用它也会这样。
l ua_getinfo
int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar);
3.返回一个指定的函数或函数调用的信息。
当用于取得一次函数调用的信息时, 参数 ar 必须是一个有效的活动的记录。 这条记录可以是前一次调用 lu a_getstack 得到的, 或是一个钩子 (参见 )得到的参数。
用于获取一个函数的信息时, 可以把这个函数压入堆栈, 然后把 what 字符串以字符 '>' 起头。 (这会让 l ua_getinfo 从栈顶上弹出函数。) 例如,想知道函数 f 是在哪一行定义的, 你可以使用下列代码:
lu a_getlocal
const char *lu a_getlocal (lua_State *L, const lua_Debug *ar, int n);
4.从给定活动记录或从一个函数中获取一个局部变量的信息。
对于第一种情况, 参数 ar 必须是一个有效的活动的记录。 这条记录可以是前一次调用 lua_getstack 得到的, 或是一个钩子 (参见)的参数。 索引 n 用于选择要检阅哪个局部变量; 参见 debug.getlocal 中关于变量的索引和名字的介绍。
lu a_getlocal 将变量的值压栈,并返回其名字。
5.对于第二种情况,ar 必须填 NULL 。 需要探知的函数必须放在栈顶。对于这种情况,只有 Lua 函数的形参是可见的 (没有关于还有哪些活动变量的信息) 也不会有任何值压栈。
当索引大于活动的局部变量的数量, 返回 NULL (无任何压栈)
lu a_getstack
int lu a_getstack (lua_State *L, int level, lua_Debug *ar);
获取解释器的运行时栈的信息。
6.这个函数用正在运行中的指定层次处函数的 活动记录 来填写 lu a_Debug 结构的一部分。0 层表示当前运行的函数, n+1 层的函数就是调用第 n 层 (尾调用例外,它不算在栈层次中) 函数的那一个。 如果没有错误, lua_getstack 返回 1 ; 当调用传入的层次大于堆栈深度的时候,返回 0 。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
美的燃气热水器12升电脑版显示FR一pH一PL一dH一nE一qU怎么调好_百度知... 热水器ph什么意思 上海工程技术大学公共管理专业是什么学院 公共事业管理在暨南大学中属于哪个学院? 中央财经大学公共事业管理学生就业去向都有哪些 中飞院公共事业管理是什么专业 广西医科大学公共事业管理属于哪个学院 抖音怎么发视频@抖音小助手 发视频@抖音小助手操作一览 轻颜相机怎么取消自动续费 取消自动续费教程 轻颜相机vip怎么取消 我的世界如何提高店主的馈赠刷到钻石的几率? 我的世界怎样快速得钻石,金,铁,红石,各255个 - 信息提示 windows7 字体库如怎样导入PS 从培训班出来的前端,在公司上班一个月被辞退,之后出去面试连续被拒,心态崩了? W7系统下载的PS字体往哪里放啊 培训班出来的前端怎么能长久在公司做长? 前端刚培训完到公司怎么苟住 我重新办一张手机卡和新的手机能不能再登个新的和支付宝? 培训班出去来的前端,刚毕业时,该进什么样的公司? 培训出来的前端,学了大半年,花了家里五六万,毕业后被两家公司辞退。也没学历,还该不该在这条路坚持? 手机卡拿下来了,里面的,支付宝等,需要重新登录吗? 从培训班出来的前端,理论知识和基础知识较好。但没有工作经验,面试也能... 电脑一打开文件就死机是什么原因 QQ快捷键都怎么用 为什么电脑中文件夹一打开就会卡死 QQ快捷键! 怎么使用QQ快捷键 如何用安卓手机把自己的图片上传到 百度图片 让别人搜得到?? 为什么打开文件夹总是卡住? 所有计算机操作系统的特点是什么,开发团队是谁? 开发操作系统,要什么样的电脑配置?开发系统内核有多难?有知识方面的人回答 怎么开发电脑PC操作系统,Windows做成智能操作系统?如何开发智能的电脑系统和硬件? 苦菜有什么疗效 我的被别人注销了,但是里面还有游戏号 游戏号可以找回吗? 怎样把手机内存卡上的歌曲上传到电脑上 在电子表格中如何判断质数和合数 excel如何判断单元格内容是不是计算式?是的话返回计算的结果,否则返回空值 双开单控开关四条线哪一条没用? 电子表格 IF函数判断。 各位大神,双开单控开关应该怎么连上线?四根线与图中L1A,L1C,L2A,L2C接口怎么对应的? 单控双开的开关,只标有L21,L12,L11,怎么接啊,那个火线,那个零线?双开的开关,四根线,可_百度问一问 单开双控一个开关有2一个开关用4根线怎么能接 计算机二级 C语言可以报工程师吗 全国计算机二级c语言属于全国计算机等级吗 cad如何画角平分线? cad中如何画角的平分线 用CAD如何绘角平分线 如何做角平分线cad 角平分线的不同做法