LuaJIT在垃圾回收过程中出现段错误。

我使用 ffi.metatype 定义的一个 userdata 出现了问题。当对象被垃圾收集时,我会得到一个 segfault。以下是代码。

运行:

我漏了什么吗?我应该定义一个 __gc 元方法吗?如果是,我应该在里面放什么?

点赞
用户606482
用户606482

将下面翻译成中文并且保留原本的 markdown 格式

Ok,像往常一样,我发帖后几分钟后发现错误。

我搞错了 _y 数组的索引。不知怎么回事,我以为 luaJIT 的 FFI 库会执行索引转换(从1开始而不是0),但事实并非如此。

我只是将所有 _y[X] 减去1,现在它能正常工作了。

2013-12-17 10:53:21