lua_pushstring 减少内存拷贝 一、前言 本篇文章是小编对lua的一个终结篇,lua本身要学的并不是很多,很多都是三方模块,因此这里小编只能和大家最后再补充下lua的一些没讲到的地方。 二、垃圾收集器 lua提供了垃圾收集的功能,我们可以通过一个方法来实现,他就是collectgarbage,它里面有两个参数,分别为选项和参数,如
lua_pushnumber后 为什么读取有小数点 lua中tonumber,数据类型Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table。数据类型nil只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)boolean包含两个值:false和truen
lua_pushnumber void lua_pushnumber (lua_State *L, lua_Number n); 把一个数字n压栈。 lua_pushstring void lua_pushstring (lua_State *L, const char *s); 把指针s指向的以零结尾的字符串压栈。 Lua 对这个字符串做一次内存拷贝(或是复用一个拷贝),因此s处的内存在函数返回后,可以释放掉或是重...
lua_pushstring(L, "name"); lua_pushstring(L, "John"); lua_settable(L, -3); lua_pushstring(L, "age"); lua_pushnumber(L, 30); lua_settable(L, -3); // 在 Lua 脚本中获取表中的值 lua_pushstring(L, "name"); lua_gettable(L, -2); const char* name = lua_tostring(L, -...
// cpp void lua_pushnil(lua_State *L); void lua_pushboolean(lua_State *L, int bool); void lua_pushnumber(lua_State *L, lua_Number n); void lua_pushinteger(lua_State *L, lua_Integer n); void lua_pushlstring(lua_State *L, const char* s, size_t len); void lua_pushstring(lu...
//将一个key放到栈顶,这个key为1。如果你的key是字符串,那就用lua_pushstring。lua_pushnumber(L,1);//table一开始是在栈顶,即-1处的,但上面的语句压入了一个值,栈顶变-2了。//lua_gettable的作用就是以栈顶的值作为key来访问-2位置上的table。lua_gettable(L,-2); ...
lua_pushnumber void lua_pushnumber (lua_State *L, lua_Number n); 把一个数字n压栈。 lua_pushstring void lua_pushstring (lua_State *L, const char *s); 把指针s指向的以零结尾的字符串压栈。 Lua 对这个字符串做一次内存拷贝(或是复用一个拷贝),因此s处的内存在函数返回后,可以释放掉或是重...
void lua_pushboolean (lua_State *L, int bool); void lua_pushnumber (lua_State *L, lua_Number n); void lua_pushinteger (lua_State *L, lua_Integer n); void lua_pushlstring (lua_State *L, const char *s, size_t len); void lua_pushstring (lua_State *L, const char *s); ...
lua_pushnumber 压入number。 lua_pushinteger 压入向下取整的number。 lua_pushlstring 压入string,附带长度信息。 lua_pushstring 压入string,长度信息自己算。 lua_pushvfstring 压入格式化变参的string。 lua_pushfstring 压入格式化变参的string,与上面的并没什么区别,只不过上面的是为了兼用上层调用的变参(详...
void){lua_State *L = luaL_newstate();luaL_loadfile(L,"2.lua");luaL_openlibs(L);lua_pcall(L,0,0,0);int iNum = 100;char szStr[] = "World";lua_pushnumber(L,iNum);lua_setglobal(L,"g_Num");lua_pushstring(L,szStr);lua_setglobal(L,"g_Str");lua_pushnumber(L...