小编use*_*225的帖子

如何释放lua_newuserdata使用delete运算符分配的内存?

我怎样才能释放分配的内存lua_newuserdata

我有一个名为类Foo,这个类有一个构造函数和desstructor,我需要执行两个,但我不知道如何使用C++运算符delete,因为我没有使用new分配内存.

我尝试在创建对象的Lua函数new中执行此操作:

Foo *pf = reinterpret_cast<Foo *>(
                lua_newuserdata(L, sizeof(Foo)));
Run Code Online (Sandbox Code Playgroud)

并在gc函数我试过:

Foo *foo = reinterpret_cast<Foo *>(lua_touserdata(L, 1));
delete foo;
Run Code Online (Sandbox Code Playgroud)

但是我遇到了分段错误.

c++ lua memory-management lua-userdata

3
推荐指数
1
解决办法
1495
查看次数

标签 统计

c++ ×1

lua ×1

lua-userdata ×1

memory-management ×1