2017-07-21 37 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