2011-01-27 3 views
5

Мне нужен контейнер для хеш-таблиц в проекте C, который включает Lua. Мне интересно, можно ли использовать хеш-таблицу в Lua как общий контейнер. Я просмотрел ltable.h, и все функции требуют состояния Lua и, похоже, связаны с средой Lua, поэтому я предполагаю, что это нецелесообразно, если данные должны быть независимыми от Lua.Возможно ли практическое использование хэш-таблицы Lua за пределами Lua?

ответ

5

Возможно и проще всего использовать официальный C API для Lua. Не нужно копать внутренности ltable.h.

0

Вы можете использовать luabind или luabridge, чтобы указать, как хеш C++ (например, карта stl) будет представлен в Lua; то вы сможете передать его движку Lua. Обратите внимание, что для любого использования Lua требуется передать состояние Lua, и здесь не избежать.

+0

Источник, о котором идет речь, является чистым c, а не C++, поэтому нет STL , иначе я бы просто использовал это –

+0

Итак, используйте lua API. Сожалею. –

Смежные вопросы