我有这个简单的程序:
#include <lua.hpp>
int main() {
lua_State * ls = lua_newstate(0, 0);
lua_close(ls);
return 0;
}
我将Lua DLL放在正确的文件夹中,链接库,设置include文件夹,然后编译。它编译得很干净,但是当我运行程序时,它会显示给我 this。我在Visual Studio 2017中使用最新版本的LuaBinaries
答案 0 :(得分:3)
您将lua_newstate
空指针作为分配器。当你试图分配某些东西时,当然会有违反访问权限的行为。正如你所看到的那样。
你为什么要这样打电话?也许你想要luaL_newstate()
代替?它提供了自己的分配器系统,因此您不需要编写自己的分配器系统。