Скрипт Lua для кода C ++ - PullRequest
       35

Скрипт Lua для кода C ++

2 голосов
/ 18 января 2011

Я пишу функции C для Lua. У меня много вызовов, таких как lua_gettable, lua_touserdata и т. Д.

Моя функция C может принимать сложные структуры, такие как таблица с таблицами в виде полей.

Мне сложно запрограммировать сложенную машину.

Есть ли способ написать скрипт Lua, который будет конвертирован в код на Си.

Или некоторые другие инструменты, которые могут помочь мне кодировать такие функции языка Си для сценариев lua.

Спасибо.

PS

Вот пример: -

local data = {}
data.x = {}
data.x.y = 1
myCfunc(data)

int myCfunc(lua_State * L){
 lua_pushstring(L, "x");
 lua_gettable(L, 2);
 lua_pushstring(L, "y");
 lua_gettable(L, -2);
 double y = lua_tonumber(L, -1);
 lua_pop(L, 2);
}

вместо

function myCfunc(data)
 y = data.x.y
end

Мой настоящий код намного сложнее, и я ищу некоторые автоматическая генерация кода, которая мне поможет.

Ответы [ 4 ]

6 голосов
/ 19 января 2011

Попробуйте LuaToCee .

5 голосов
/ 18 января 2011

Возможно toLua может помочь.

2 голосов
/ 18 января 2011

Из C # я написал код для преобразования структур данных LUA в формат JSON.Затем я могу загрузить данные через любую библиотеку JSON со всеми их прибамбасами.Это круглое решение, но код JSON необходимо кодировать только один раз.

0 голосов
/ 23 июля 2013

SWIG Упрощенная Обертка и Генератор Интерфейса http://www.swig.org/ Обычно это C для Lua, но определив некоторые глобальные переменные, вы можете использовать его как Lua для C

...