luaL_loadstring 之后调用 lua_pcall 会出错。看到很多解决方案都是调用 luaL_loadstring 之后再调用一次 lua_pcall ,看起来就很奇怪。 luaL_dostring 的定义如下: #define luaL_dostring(L, s) \ (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0)) 结论 用 luaL_dostring。。