LuaC API

Lua C APi 总结

Lua_newtable(L) 创建table并放到栈顶

lua_pushstring(L,"11") 压入key

lua_pushnumber(L,22) 压入value

Lua_settable(L,-3) key,value设置到table中,key,value出栈

Lua_pushnil(L) 栈内推入nil

luapushlightuserdata(luaStatus *L,void *p) 把一个userData对象压栈。

Luagettable(L,LUAREGISTRYINDEX) 从index找到对应的表,以栈顶元素为key,在表里面去取值,先把栈顶元素出栈,然后把从表中获取的元素入栈

Luasettable(L,LUAREGISTRYINDEX) 取出指定index上的表,设置表的key为栈顶下的值,value为栈顶的值,设置完毕key,value出栈

Lua_insert(L,-2) 栈顶元素和指定索引位置的元素互换位置。

Lua_pushValue(L,-1) 把栈上指定位置的索引拷贝一份 入栈。

lua_call(L,args) 调用L->top - (nrgs + 1) 处的func。参数是从哪个func开始向上到栈顶

luapcall 相比luacall 安全的lua方法调用

Luanewstate(lalloc,(_bridge void *)self) 创建并返回luaStatus,并且把当前self绑定到luaStatus.LG->ud

lua_touserdata(L,index)返回指定index位置的内存

lua_next() 先从栈顶弹出一个key,然后在取出指定的table 下一对key-value ,key先入栈,value再入栈。

lua_getfenv(L,index)把索引值对应位置的userData环境表压入堆栈。

lua_remove(L,index) 移除指定索引的元素,当前元素上面的索引下移

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,040评论 0 38
  • 第一篇 语言 第0章 序言 Lua仅让你用少量的代码解决关键问题。 Lua所提供的机制是C不擅长的:高级语言,动态...
    testfor阅读 2,770评论 1 7
  • 1. 写在前面 很多时候我们都需要借助一些脚本语言来为我们实现一些动态的配置,那么就会涉及到如何让脚本语言跟原生语...
    杰嗒嗒的阿杰阅读 3,467评论 9 31
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,784评论 0 17
  • 是这样的,五一回家,亲历了两件让我难受的事情,并且两件事发生在同一天。 先是家里忽然来了只又大又肥的狸花猫,并且这...
    筱易F阅读 1,372评论 0 0