最近在做新的项目,设计打文件传输问题,lua和c++交互。踩了不少坑,也收获很多。
1.luaL_tointeger 和lua_tonumber
在把大文件的大小传给c++时,用
lua_tointeger取出,导致计算出错。后来经过仔细看了lua api文档,才发现,这个接口转出的结果是整形,长度明显不够。最终只能用lua_tonumber解决问题。
lua_tointeger
lua_Integer lua_tointeger (lua_State *L, int idx);
把给定索引处的 Lua 值转换为 lua_Integer
这样一个有符号整数类型。 这个 Lua 值必须是一个数字或是一个可以转换为数字的字符串 否则,lua_tointeger
返回 0 。