LuaC API

作者: 沧州宁少 | 来源:发表于2018-05-12 18:41 被阅读0次

    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) 移除指定索引的元素,当前元素上面的索引下移

    相关文章

      网友评论

          本文标题:LuaC API

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