我创建了一个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)