Lua API (basic stack manipulation)

一:LUA_API int (lua_gettop)(lua_State* L)

用途:返回栈顶元素的索引

由于索引是从1开始,所以这个值就等于栈上的元素数量, 0则表示空

二:LUA_API void (lua_settop)(lua_State* L, int idx)

用途:将堆栈的栈顶设为idx这个索引。如果新的栈顶比原来的大,超出部分的新元素将被填为nil。如果index为 0 ,把栈上所有元素移除

三:LUA_API void (lua_pushvalue)(lua_State* L, int idx)

用途: 找到Idx位置的value,压入栈顶

四:LUA_API void (lua_insert)(lua_State* L, int idx)

用途:找到idx索引的位置,将栈顶的value放在这个位置

 会引发idx位置以上的元素向上移动一个位置,以便空出idx的位置

五:LUA_API void (lua_remove)(lua_State* L, int idx)

用途:找到idx索引的位置,删除这个位置上的value

会引发idx以上的元素向下依次移动一个位置,栈减少一个元素


六:LUA_API void (lua_replace)(lua_State* L, int idx)

用途:将id索引的位置设置为栈顶的value, 然后移除栈顶value

七:LUA_API int (lua_checkstack) (lua_State *L, int sz)

八:LUA_API void (lua_xmove) (lua_State *from, lua_State *to, int n)

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

相关阅读更多精彩内容

  • 第一篇 语言 第0章 序言 Lua仅让你用少量的代码解决关键问题。 Lua所提供的机制是C不擅长的:高级语言,动态...
    testfor阅读 7,761评论 1 7
  • 当在Lua和C之间交换数据时主要的问题是自动回收与手动回收内存管理的不一致。因此,Lua 用一个抽象的栈在Lua与...
    luffier阅读 7,552评论 0 3
  • lua作为小巧精悍的脚本语言,易于嵌入c/c++中 , 广泛应用于游戏AI ,实际上在任何经常变化的逻辑上都可以使...
    木易林1阅读 5,392评论 0 4
  • 前言# 前两章我们总结了lua_is*系列和lua_to*系列,掌握了lua栈内值的判断和转换方法,现在我们来看看...
    AlbertS阅读 11,459评论 0 2
  • 1. 写在前面 很多时候我们都需要借助一些脚本语言来为我们实现一些动态的配置,那么就会涉及到如何让脚本语言跟原生语...
    杰嗒嗒的阿杰阅读 8,727评论 9 31

友情链接更多精彩内容