链接 参考博客
在使用C/C++调用Lua时,虚拟机出现down机,则有可能说明你包库导入失败
如若出现以下错误,基本可以确认了
一般导入包库代码:
luaopen_base(pLuaState);
luaopen_math(pLuaState);
luaopen_string(pLuaState);
...
以上几个包库还好,可是到table和io时,就会出错。
利用Lua语言的堆栈机制,强制压入栈
代码:
lua_pushcfunction(pLuaState,luaopen_table);
lua_pushliteral(pLuaState,LUA_TABLIBNAME);
lua_call(pLuaState,1,0); //table库导入完毕
lua_pushcfunction(pLuaState,luaopen_io);
lua_pushliteral(pLuaState,LUA_IOLIBNAME);
lua_call(pLuaState,1,0); //io库导入完毕