我发现自己需要一个包含Lua的C项目中的哈希表容器。我想知道是否可以使用Lua中的哈希表作为通用容器。我查看了ltable.h
并且所有函数都需要一个Lua状态并且似乎与Lua环境相关联,所以我猜这是不切实际的,如果数据需要独立于Lua。
答案 0 :(得分:5)
这是可能的,最简单的方法就是使用Lua的官方C API。不需要深入了解ltable.h的内部。
答案 1 :(得分:0)
你可以使用luabind或luabridge来指定如何在Lua中表示C ++哈希(比如stl的地图);然后你就可以将它传递给Lua引擎了。请注意,Lua的任何使用都需要通过Lua状态,此处无法逃脱。