Blitz Lua 常见问题解答

lua-users home
wiki

此页面包含关于 BlitzLua 的“常见问题解答”列表。

介绍

BlitzLua 是一个用 BlitzMAX 编写的 Lua 运行时环境,BlitzMAX 是一款快速跨平台 BASIC 编译器和运行时系统,适用于 Windows 98/ME/2000/XP、MacOS X 和 Linux。

常见问题解答

为什么不使用完整用户数据?

一个经常出现的问题是,为什么作者不使用“完整用户数据”(而是使用“轻量级用户数据”),因此不提供直接映射的对象和自动内存管理(通过使用 __gc 元方法)。

原因是 BlitzMAX 的垃圾回收: “完整用户数据”对象完全“存在于 Lua 侧” - 没有指向 BlitzMAX 的引用,这可能会阻止对象被“垃圾回收”。此外,没有直接的方法可以将“完整用户数据”对象从 BlitzMAX 传递到 Lua - 因此,是 Lua 本身必须为给定的 BlitzMAX 对象(由其指针给出)找到“完整用户数据”对象。解决这两个问题自然会导致如上所述的实现。

--AndreasRozek


最近更改 · 偏好设置
编辑 · 历史记录
最后编辑于 2007 年 5 月 21 日上午 8:35 GMT (差异)