创建 Lua 状态时发生访问冲突

Access Violation while creating Lua State

我有这个简单的程序:

#include <lua.hpp>

int main() {
    lua_State * ls = lua_newstate(0, 0);

    lua_close(ls);


    return 0;
}

我将 Lua DLL 放在正确的文件夹中,链接库,设置包含文件夹,然后编译。它编译得很干净,但是当我 运行 程序时,它显示了我 this。我使用的是 Lua 二进制文件的最新版本 Visual Studio 2017

您给 lua_newstate 一个空指针作为分配器。自然地,当它尝试分配某些东西时,就会出现访问冲突,如您所见。

你为什么要这样称呼它?也许你想要 luaL_newstate() 代替?它提供自己的分配器系统,因此您无需编写自己的分配器系统。