luaL_newState()//创建Lua状态
lua_pushnumber(L, value)
lua_pushstring(L, value)
lua_isnumber(L, index)
lua_isstring(L, index) 成功返回1,否则返回0
lua_tonumber(L, index) //获取栈上的值
lua_tostring(L, index)
lua_getglobal(L, "add"); //获取lua里面的add函数并把它放到lua的栈顶
lua_gettable(L, -2) //获取栈上的表,压入栈
lua_gettop (L); //返回栈顶索引(即栈长度)
lua_settop(L, 0); // /* 重置栈顶索引 */
lua_close(L);
lua_call(L, 0, 0); //执行函数,0个参数,0个返回值 会将返回值压入栈中,
lua_call(L, 2, 1, 0);
lua_pcall
lua_setfield 将lua_push*到栈中的值,设置到table对应的key中。
lua_getfield(lua_State *L, int idx, const char *k),这个函数用以获取表中对应key的value。
其中参数idx是表在栈中的位置,k是表中的key。其实它就相当于这两个函数的组合,
lua_pushstring(L, key) && lua_gettable(L, idx),这里key必须位于栈顶。
lua_setglobal(L, "getTwoVar"); //设置lua全局变量getTwoVar,lua中可以根据getTwoVar来得到堆栈上面的值
宏lua_setglobal向lua全局_G表中存放变量。
宏lua_getglobal从lua全局_G表中取得变量。
luaL_checkstring(lua_State *L, int numArg)
检查第numArg个参数是不是string
luaL_argcheck(L, cond,numarg,extramsg)
宏luaL_argcheck检查给定的条件cond,如cond为真值或真值表达式,numarg表示出错参数的位置,extramsg为抛出的错误信息。
int bRet = luaL_loadfile(L,"hello.lua"); //加载Lua文件
lua_pushnumber(L, value)
lua_pushstring(L, value)
lua_isnumber(L, index)
lua_isstring(L, index) 成功返回1,否则返回0
lua_tonumber(L, index) //获取栈上的值
lua_tostring(L, index)
lua_getglobal(L, "add"); //获取lua里面的add函数并把它放到lua的栈顶
lua_gettable(L, -2) //获取栈上的表,压入栈
lua_gettop (L); //返回栈顶索引(即栈长度)
lua_settop(L, 0); // /* 重置栈顶索引 */
lua_close(L);
lua_call(L, 0, 0); //执行函数,0个参数,0个返回值 会将返回值压入栈中,
lua_call(L, 2, 1, 0);
lua_pcall
lua_setfield 将lua_push*到栈中的值,设置到table对应的key中。
lua_getfield(lua_State *L, int idx, const char *k),这个函数用以获取表中对应key的value。
其中参数idx是表在栈中的位置,k是表中的key。其实它就相当于这两个函数的组合,
lua_pushstring(L, key) && lua_gettable(L, idx),这里key必须位于栈顶。
lua_setglobal(L, "getTwoVar"); //设置lua全局变量getTwoVar,lua中可以根据getTwoVar来得到堆栈上面的值
宏lua_setglobal向lua全局_G表中存放变量。
宏lua_getglobal从lua全局_G表中取得变量。
luaL_checkstring(lua_State *L, int numArg)
检查第numArg个参数是不是string
luaL_argcheck(L, cond,numarg,extramsg)
宏luaL_argcheck检查给定的条件cond,如cond为真值或真值表达式,numarg表示出错参数的位置,extramsg为抛出的错误信息。
int bRet = luaL_loadfile(L,"hello.lua"); //加载Lua文件