首页 > 代码库 > C操作Lua虚拟栈的API

C操作Lua虚拟栈的API

Lua是一种嵌入式语言,在C中通过Lua库来执行,Lua和C的通信要通过一个虚拟栈。

C的API:

操作栈函数

 1 /*压入栈函数 lua_psuhtype*/ 2 void lua_pushnil       (lua_State *L);                                     3 void lua_pushboolean   (lua_State *L, int bool); 4 void lua_pushnumber    (lua_State *L, lua_Number n); 5 void lua_pushinteger   (lua_State *L, lua_Integer n); 6 void lua_pushunsigned  (lua_State *L, lua_Unsigned n); 7 void lua_pushlstring   (lua_State *L, const char *s, size_t len); 8 void lua_pushstring    (lua_State *L, const char *s); 9 /*检测栈空间*/10 int lua_checkstack (lua_State *L, int sz);

 查询栈函数

/*检测栈元素能否转化为对应类型*/int lua_is* (lua_State *L, int index);/*返回栈元素类型*/int lua_type (lua_State *L, int index);/*返回栈元素对应值*/int lua_toboolean (lua_State *L, int index);const char *lua_tolstring (lua_State *L, int index, size_t *len);lua_Number lua_tonumber (lua_State *L, int index);lua_Integer lua_tointeger (lua_State *L, int index);lua_Unsigned lua_tounsigned (lua_State *L, int idx);

 

C操作Lua虚拟栈的API