#c #lua
Вопрос:
Если я нажимаю UserData больше, чем один раз, вещи сборщика мусора, это разные экземпляры.
-- UserType - C Function, which CREATES and returns an instance of UserType.
-- GetUT - C Function, which returns an instance of UserType by name, created by UserType.
UserType = UserType("Type_1") -- Isn't collected.
GetUT("Type_1") -- Is collected, but it is the same C instance.
collectgarbage("collect")
Сборщик мусора пытается собрать экземпляр с именем «Type_1», потому что я вызвал GetUT, и он вернул значение экземпляра, но на него все еще есть ссылка, называемая UserType. Что я могу сделать, чтобы вернуть один и тот же объект из C более одного раза?
Комментарии:
1. Не могли бы вы предоставить вместе с этим и код на C ? Неясно, как эти функции ведут себя и взаимодействуют со сборщиком мусора Lua.