在Lua之外使用Lua的哈希表是否可行/实用?

时间:2011-01-27 19:31:17

标签: c lua hashtable

我发现自己需要一个包含Lua的C项目中的哈希表容器。我想知道是否可以使用Lua中的哈希表作为通用容器。我查看了ltable.h并且所有函数都需要一个Lua状态并且似乎与Lua环境相关联,所以我猜这是不切实际的,如果数据需要独立于Lua。

2 个答案:

答案 0 :(得分:5)

这是可能的,最简单的方法就是使用Lua的官方C API。不需要深入了解ltable.h的内部。

答案 1 :(得分:0)

你可以使用luabind或luabridge来指定如何在Lua中表示C ++哈希(比如stl的地图);然后你就可以将它传递给Lua引擎了。请注意,Lua的任何使用都需要通过Lua状态,此处无法逃脱。