c/c++语言开发共享`lua_resume`的`from`参数的含义

来自Lua 5.2参考手册 :

int lua_resume (lua_State *L, lua_State *from, int nargs); 

[…]

参数from表示正在恢复L的协同程序。 如果没有这样的协程,则此参数可以为NULL

但它对我说不多。 它到底是做什么用的? 在什么情况下我必须传递除NULL以外的任何东西?

    除了5.2的源代码之外什么都没有看来,似乎from仅用于在恢复期间正确计算嵌套C调用的数量。

     L->nCcalls = (from) ? from->nCcalls + 1 : 1; 

     lua_assert(L->nCcalls == ((from) ? from->nCcalls : 0)); 

    coroutine.resume的实现似乎以这种方式使用它。

    它使用正在恢复它的主线程的from值恢复coroutine线程上的协同程序。

     status = lua_resume(co, L, narg); 

      以上就是c/c++开发分享`lua_resume`的`from`参数的含义相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/545008.html

      (0)
      上一篇 2021年1月9日
      下一篇 2021年1月9日

      精彩推荐