使用 C API 编译多个 LUA 文件出现问题

我正在使用 C API 在我的环境中加载多个 LUA 文件,但是如果其中一个 LUA 文件出现问题,其他文件也将无法编译。以下是示例代码段。

while(Nooffiles > 0){

       if (luaL_loadfile(luaState, getFilename(Nooffiles)) != 0)
        {
            cout<<"弹出错误"<<endl;
            lua_pop(luaState, 1); // 从堆栈中弹出错误(由 luaL_loadfile 放在顶部)
        }
        else if (!setFileEnvironment(luaState, getFilename(Nooffiles) ))
        {
            cout<<"错误"<<endl;
        }
        else if (lua_pcall(luaState, 0, 0, 0) != 0)
        {
            lua_pop(luaState, 1); // 从堆栈中弹出错误(由 lua_pcall 放在顶部)
        }

Nooffiles--;
}

请问有没有人能帮我解决这个问题,或者有没有文档说明如果其中一个 LUA 文件不正确,它就无法接受其他文件。

原文链接 https://stackoverflow.com/questions/69793140

点赞