LuaJIT FFI在释放内存时崩溃

时间:2015-12-24 05:50:21

标签: c++ lua free ffi luajit

我创建了一个cdata对象:

session = ffi.new("GAMESession*[1]", {})

我在C ++函数中传递它:

GAMEDLL.GAME_close(session[0])

该C ++函数具有以下代码:

GAMEErrorCode
GAME_close(GAMESession *match)
{
   if (!match) {
      return GAME_BAD_SESSION;
   }
   delete match;
   return GAME_SUCCESS;
}

运行此C ++函数会导致我的项目崩溃,如下所示:

ffi.C.free(session)

如何正确释放此内存?

额外注意事项:

我必须GAMESession*[1]将对象正确传递给其他C ++函数:

GAME_start(GAMESession **session)

0 个答案:

没有答案