为什么调用 lua_pcall

  • 原理:

    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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,760评论 0 38
  • 第一篇 语言 第0章 序言 Lua仅让你用少量的代码解决关键问题。 Lua所提供的机制是C不擅长的:高级语言,动态...
    testfor阅读 7,808评论 1 7
  • lua作为小巧精悍的脚本语言,易于嵌入c/c++中 , 广泛应用于游戏AI ,实际上在任何经常变化的逻辑上都可以使...
    木易林1阅读 5,401评论 0 4
  • 我是抱着被拯救的期望来看这本书的,其实早在半年前就想要看了,只是.......它叫“亲密关系:通往灵魂的桥梁”,是...
    汲思广溢阅读 1,765评论 0 1
  • 没有利益攸关时不要主动给他人提建议 新来的同事最近过的很不顺利,经常受领导批评,我看不下去,主动给他提了很多建议。...
    programmer阅读 1,063评论 0 0

友情链接更多精彩内容