"<number>", "<integer>", "<name>", "<string>" }; void luaX_init (lua_State *L) { int i; TString *e = luaS_newliteral(L, LUA_ENV); /* create env name */ luaC_fix(L, obj2gco(e)); /* never collect this name */ for (i=0; i<NUM_RESERVED; i++) { TString *ts...
gc对象来说,比如string,table,thread等还需要堆上再分配内存,这里只是保存指针,生合周期结束后会被垃圾回收,有点像STL的容器。 非gc对象来说,存储的类型也就是它面字面意思,lua_Integer实际是long long,lua_Number实际是double,只有bool类型用了int来存了。它们无需再单独向堆上分配内存,存在栈上,不用进行垃圾回...
lua_pushinteger(lua_State*, lua_Integer):将一个有符号的整数压入到栈中 lua_pushstring (lua_State*, const char*): 将一个字符串压入到栈中 lua_pushlightuserdata(lua_State *L, void *p): 将一个指针压入到栈中 注意:lua_pushstring压入一个字符串,Lua会创建自己的副本,因此一旦压入栈之后,你...
string.format("%a", 419) --> 0x1.a3p+8 string.format("%a", 0.1) --> 0x1.999999999999ap-4 四、数值运算通用规则和java、kotlin 类似,只要运算的数值中有一个为 float ,则结果为 float ,否则结果为 integer 。五、数值除法因为两个整数相除有可能产生小数,所以在 lua 中,所有的除法运算操作永远是...
string.format("%a", 0.1) 1. 2. 3. 虽然这种格式很难阅读,但是这种格式可以保留所有浮点数的精度,并且比十进制的转换速度更快 五、算术运算 Lua支持的算术运算有: 加(+)、减(-)、乘(*)、除(/) 取负数(-) 取整除法/floor除法(//) 取模(%) ...
lua_Integer luaL_checkinteger (lua_State *L, int narg); long luaL_checklong (lua_State *L, int narg); const char *luaL_checklstring (lua_State *L, int narg, size_t *l); lua_Number luaL_checknumber (lua_State *L, int narg); ...
code5、lua_pushstring是向栈内压如一个值。lua_gettable是从table中取出刚才压入的数据对应的值,并且替换掉sex。从栈的运行图Log index 3中,可以清晰的看出,数据已经从table中取出放到栈上了 code6、分别使用系统函数 lua_tointeger和lua_tostring取出栈上面的值。最终栈内是四个值,如栈的运行图Log index 4。
intsystem(constchar* string){ return0; } Step 6 编译一下,没报错,就OK了! 4.LUA的基本使用 Step 1 基本LUA函数的创建 intLua_LED(lua_State *L) { uint8_tflag =lua_tointeger(L,1);// 读取传入函数的参数,数字是传入的所有数据的第几个 ...
lua_tothread 转换成状态(协程),失败返nil。 lua_topointer 转换成指针。 push相关 lua_pushnil 压入nil。 lua_pushnumber 压入number。 lua_pushinteger 压入向下取整的number。 lua_pushlstring 压入string,附带长度信息。 lua_pushstring 压入string,长度信息自己算。
Lua针对每种C类型,都有一个CAPI函数与之对应,如:voidlua_pushnil(lua_State*L);--nil值voidlua_pushboolean(lua_State*L,int b);--布尔值voidlua_pushnumber(lua_State*L,lua_Number n);--浮点数voidlua_pushinteger(lua_State*L,lua_Integer n);--整型voidlua_pushlstring(lua_State*L,constchar*s...