lua_pcall和lua_call功能一样,只是lua_pcall提供了一个可以提供错误处理函数的功能

首先压入函数 ,再依次压入参数,现在你就可以调用lua_call了,函数调用后将参数,函数都弹栈,函数返回时会将返回值依次压栈。

调用前堆栈情况

参数

参数

函数

调用后堆栈情况

返回值

注意:无论在c函数里怎么调用栈,在pcall之后都会按函数的参数和返回值恢复栈

lua_pcall,lua_call 调用前后栈情况的更多相关文章

  1. linux ltrace-跟踪进程调用库函数的情况

    当前位置:硬件 | 监测 | 内核 | Shell / 性能监测与优化 /ltrace ltrace命令是用来跟踪进程调用库函数的情况. 语法 ltrace [option ...] [command ...

  2. [Android Pro] 深入理解函数的调用过程——栈帧

    cp :http://blog.csdn.net/x_perseverance/article/details/78897637 每一个函数被调用时,都会为函数开辟一块空间,这块空间就称为栈帧. 首先 ...

  3. c调用 lua 栈操作

    转自https://www.cnblogs.com/ringofthec/archive/2010/10/22/lua.html 打算记录一些lua_api, 可能会觉得lua文档中已经说的很清楚了, ...

  4. LinkedList学习:API调用、栈、队列实现

    参考的博客 Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例 如果你想详细的区了解容器知识以及本文讲的LinkedList,我推荐你去看这篇博客和这个做个的容器系列 Lin ...

  5. C++/JAVA/C#子类调用父类函数情况[留存]

    时间久了就容易记不清了,特留存备用查看 c++ 1.构造函数调用   常用初始化列表  或者显示调用 1.1同一个类中构造函数调用构造函数   尽量不要这样做,因为结果不确定!避免麻烦(C++11增加 ...

  6. oc js 调用 函数调用栈

    //定义需要暴露给js的内容,这里我们只暴露personName和queryPersonName接口 @protocol PersonProtocol <JSExport> @proper ...

  7. Java多态中成员的调用的特殊情况

    1.当子类和父类中有相同的成员属性的时候 public class Demo { public static void main(String[] args) { Father son=new Son ...

  8. 【VS开发】【Qt开发】使用process explorer查看exe调用dll的情况

    打开process explorer 选中想要查看句柄或者加载的dll的进程,比如下面截图红框中的 chrome.exe 菜单点击view / Lower Pane View,其下有DLLS和Hand ...

  9. 转一篇分析C语言调用时栈的变化的好文

    http://blog.csdn.net/zsy2020314/article/details/9429707

随机推荐

  1. C#在 64位系统下出现 “未能加载文件或程序集”错误

    64位系统下,Build的时候,如果选择Any CPU,默认会按照64位进行编译,便无法加载某些旧的dll,这些dll可能是特定到X86 CPU的. 所以,把编译选项中改为 X86CPU,就可以运行了 ...

  2. asp.net中利用JSON进行增删改查中运用到的方法

    //asp.net中 利用JSON进行操作, //增加: //当点击“增加链接的时候”,弹出增加信息窗口,然后,在窗体中输入完整信息,点击提交按钮. //这里我们需要考虑这些:我会进行异步提交,使用j ...

  3. 求给出第 K个 N位二进制数,该二进制数不得有相邻的“1”

    求给出第 K (0 < K < 109) 个 N (0 < N < 44) 位二进制数,该二进制数不得有相邻的"1". 这道题要求给出第 K (0 < ...

  4. HDU 1686 Oulipo【kmp求子串出现的次数】

    The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e ...

  5. python 面向对象(成员,静态,类)的(变量,方法)区别

    静态方法是使用@staticmethod装饰的方法,并且参数表中不需要self或者cls,可以访问类成员变量 默认的方法是有self的,是成员方法,可以访问私有变量和方法(通过self.xxx),或者 ...

  6. ASP.NET Core 2.2 基础知识(二) 中间件

    中间件是一种装配到应用管道以处理请求和相应的软件.每个软件都可以: 1.选择是否将请求传递到管道中的下一个组件; 2.可在调用管道中的下一个组件前后执行工作. 管道由 IApplicationBuil ...

  7. 用Python处理邮件,全文完

    http://www.chinaunix.net/old_jh/55/575710.html

  8. matlab和c混合编程

    参考: http://blog.sciencenet.cn/blog-620659-579885.html http://baike.baidu.com/link?url=HnHd3lU9mcVXwh ...

  9. Java高级架构师(一)第17节:X-gen生成所需的DAO部分模板

  10. SQL Server Wait Types Library

    https://www.sqlskills.com/blogs/paul/announcing-the-comprehensive-sql-server-wait-types-and-latch-cl ...