之前看luaL_openlibs(),感觉直接调打开库的函数好像也没差别,所以将
LUALIB_API void luaL_openlibs (lua_State *L) {
const luaL_Reg *lib = lualibs;
for (; lib->func; lib++) {
lua_pushcfunction(L, lib->func);
lua_pushstring(L, lib->name);
lua_call(L, 1, 0);
}
}
改成了
LUALIB_API void luaL_openlibs (lua_State *L) {
const luaL_Reg *lib = lualibs;
for (; lib->func; lib++) {
lib->func(L);
}
}
一直也没出啥问题,直到最近碰到一段类似这样的程序:
int main()
{
lua_State *L = luaL_newstate