luaopen_io 失败解决方法

来源:互联网 发布:ios知乎日报 api 编辑:程序博客网 时间:2024/04/30 06:52

初学 Lua ,在 VS2005 下 , Lua 5.1.3 。

遇到了不少问题。教程 4.0 的,示例不能直接在 5.1.3 上用 。 5.1.3里面 dofile 和 dostring 函数被luaL_dofile和luaL_dostring取代了。无奈,舍弃教程。

找了一篇 5.X 的教程,还是问题。首先,找不到 luaopen_loadlib ; 其次,运行到 luaopen_io 就 Down 掉了。Google了很久,看了很多中文英文帖子,都没有实际解决。特发此帖,讲述一下我的解决方法。

对于第一个问题,看下 Lualib.h 才知道 luaopen_package代替了luaopen_loadlib
对于第二个问题,参考下 linit.c 的代码才发现应该用 lua_pushcfunction(L, luaopen_io);lua_pushstring(L, LUA_IOLIBNAME);lua_call(L, 1, 0); 代替。