美文网首页
为什么调用 lua_pcall

为什么调用 lua_pcall

作者: AZander | 来源:发表于2019-07-17 16:35 被阅读0次
  • 原理:

    C和lua通过一个堆栈进行交互,lua_pcall的用途就是执行堆栈里的函数,先将lua里的函数压入堆栈,然后再调用。lua_pcall就是c里的调用lua函数的函数

  • 理解举例

    c和lua交互,当加载一个lua脚本文件的后,调用如下代码

      iError = lua_pcall(L, 0, 0, 0);
      if (iError)
      {
          lua_close(L);
          return 1;
      }
    
  • 解读:调用是相当于 把一整个lua文件的内容 当成一个function来执行
  • 举例:
    • 设置个全局变量a为100 ,不pcall先把整个文件load一次a是多少;再pcall一次 看看a为多少

    • 结果:第一次调用a 得到的是nil ,第2次调用就可以获得100

参考如下 文章 https://blog.csdn.net/rain_qingtian/article/details/48573991

相关文章

网友评论

      本文标题:为什么调用 lua_pcall

      本文链接:https://www.haomeiwen.com/subject/grhclctx.html