2017-07-21 23 views
1

我有这个简单的程序:访问冲突而产生的Lua国家

#include <lua.hpp> 

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

    lua_close(ls); 


    return 0; 
} 

我把Lua的DLL在正确的文件夹,链接库,建立了包括文件夹,然后编译。它编译干净,但是当我运行该程序时,它显示我 this。我在Visual Studio 2017中使用了LuaBinaries的最新版本

回答

3

你给lua_newstate一个空指针作为分配器。正如你所看到的,当它试图分配某些内容时会有访问冲突。

你为什么要这样称呼它?也许你想要luaL_newstate()而不是?它提供了自己的分配器系统,所以你不需要编写自己的分配器系统。

+0

这就是我在网上找到的,我会测试一下。编辑:它的工作 – Michael