Как встраивать lua в c ++ через SWIG - PullRequest
4 голосов
/ 17 февраля 2009

В настоящее время у меня есть набор оберток SWIG для моих классов, и все они собираются. Я могу создать виртуальную машину lua и загрузить свои обертки, но в этот момент я в замешательстве. Гугл говорит мне, как засунуть c ++ в lua в swig, а не как ставить lua в c ++.

На самом деле все, что я хочу сделать, - это создать экземпляр объекта lua и передать ему мой указатель объекта основного игрового движка, оттуда я могу управлять

1 Ответ

3 голосов
/ 19 февраля 2009

Взгляните на книгу по программированию на Lua, в ней есть раздел по Lua C API .

Для вызова функций Lua используйте lua_pcall , что эквивалентно lua_call (с кратким примером), за исключением того, что оно будет перехватывать ошибки времени выполнения Lua.

Вы уже должны были загрузить и запустить скрипт один раз (используя, например, luaL_dofile ), поскольку первым шагом сценария является определение функций, которые вы должны вызывать. Когда он возвращается, вы можете получить доступ к функциям, определенным сценарием, с помощью lua_getglobal .

...