2011-01-27 94 views
5

我发现自己需要一个包含Lua的C项目中的哈希表容器。我想知道是否有可能在Lua中使用哈希表作为通用容器。我已经看过ltable.h,所有的功能都需要Lua状态,并且看起来与Lua环境有关,所以我猜测如果数据需要独立于Lua,这是不实际的。在Lua之外使用Lua的哈希表是否可行?

回答

5

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

0

您可以使用luabind或luabridge指定C++哈希(如stl的映射)将如何在Lua中表示;那么你就可以将它传递给Lua引擎。请注意,任何使用Lua都需要通过Lua状态,这里不会有任何转义。

+0

有问题的来源是纯C而不是C++所以没有STL 否则我只会用那 – 2011-01-29 23:11:05