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);

 

posted @ 2014-09-10 22:23  再高一点  阅读(471)  评论(0编辑  收藏  举报