Lua: lua_call/lua_pcall/lua_cpcall的用法
来源:互联网 发布:足彩数据接口 编辑:程序博客网 时间:2024/05/01 19:12
函数原型:
1)void lua_call (lua_State *L, int nargs, int nresults);
L是执行环境,可以理解为当前栈,nargs参数个数,nresults返回值个数。
2)void lua_pcall(lua_State *L,int nargs, int nresults,int nerrfunc);
lua_pcall和该函数区别是多一个参数,用于发生错误处理时的代码返回。
3)void lua_pcall(lua_State *L,int nargs, int nresults,int nerrfunc,void* ud)
lua_cpcall则又多一个用于传递用户自定义的数据结构的指针
对于函数的使用场景,一个网友:
lua_call的运行是无保护的,它与lua_pcall相似,但是在错误发生的时候它抛出错误而不是返回错误代码。当你在应用程序中写主流程的代码时,不应该使用lua_call,因为你应该捕捉任何可能发生的错误。当你写一个函数的代码时,使用lua_call是比较好的想法,如果有错误发生,把错误留给关心她的人去处理.
结论:
写应用程序主流程代码用lua_pcall
写C Native Function代码时用lua_call,与之类似的还有luaL_checkxxx
0 0
- Lua: lua_call/lua_pcall/lua_cpcall的用法
- lua_call和lua_pcall的区别
- lua_pcall的用法
- lua_pcall用法
- 利用lua_pcall()的errfunc参数调试LUA程序
- lua_call的使用
- C 函数中调用Lua函数时,对于lua_pcall使用的困惑
- Lua 使用过程的一个理解(lua_pcall(L, 0, 0, 0);)
- C 函数中调用Lua函数时,对于lua_pcall使用的困惑
- lua函数返回值 lua_call lua_getglobal lua_gettop(L)
- lua 常用的用法
- Lua的userdata用法
- Lua的loadstring( )的用法
- Lua 的If Else用法
- lua脚本中表的用法
- Lua中module的用法
- Lua中module的用法
- Lua math函数的用法
- 关于指针与类的内存分布问题(问题思考来自《程序员面试宝典》)
- android 判断网络是否可用
- UITextView的placeholder属性
- Android Service Security
- libc、glibc和glib的关系
- Lua: lua_call/lua_pcall/lua_cpcall的用法
- Javascript数组、json对象基本操作
- WebView的方法onScrollChanged不被调用的原因
- google 搜索帮助
- iOS开发-UICollectionView实现瀑布流
- Eclipse出现Failed to create the part's controls
- 写出float x 与“零值”比较的if语句——一道面试题分析
- char*与LPCTSTR,LPTSTR的转换
- 通过QEMU 和 IDA Pro远程调试设备固件