C — Как определить userdatum с таблицей Lua в качестве члена?

#c #lua #lua-userdata #lua-c -connection

#c #lua #lua-userdata #lua-c -соединение

Вопрос:

У меня есть userdatum, который называется LuaSettings. Это userdatum , кроме функций, имеет один член — raw . raw Член — это обычная таблица Lua. Использование этого заключается в следующем:

  1. Сначала userdatum помещается в стек как переменная settings
  2. Затем выполняется файл Lua, и userdatum изменяется.
 -- LuaSettings:register function modifies the data.raw table
settings:register {
    {
        name = "Fuzz",
        hello = "world"
    },
    {
        name = "Buzz"
        hello = "there"
    }
}

-- User is allowed to do something like this as well:
settings.raw["Fuzz"].hello = ""
 
  1. После завершения выполнения settings.raw таблица используется кодом C .

Как это сделать? Возможно ли это вообще? Как мне определить размер этого userdatum?

Комментарии:

1. Зачем вам здесь userdata? Пусть settings это обычная таблица Lua, вы можете сохранить ее в реестре (и сохранить ее ссылку в некоторой int переменной C).