3

私はCで書かれたLuaモジュールに完全なuserdataを持っています__gc()。userdataにはガベージコレクターによって呼び出されるmetamethodがあります。__gc()luaインタープリターは呼び出し後にuserdataメモリを解放しますか、それともfree()内部で解放する必要があり__gc()ますか?

4

1 に答える 1

8

自分で malloc() していないため、メモリを解放しないでください。Lua は両方を行います。実際、 Lua 5.1 リファレンス マニュアルのセクション 2.10.1 で説明されているように、メモリは同じガベージ コレクション サイクルでは収集されません。

于 2008-10-21T09:32:55.343 に答える