3

几年前,我使用 luabind 将 C++ 对象绑定到 Lua,反之亦然。有一种方法可以将现有(通过 C++ 代码中的 new 运算符分配)对象绑定到 Lua 并在如下脚本中使用它:

binded_object.property = new_value

现在我正在开发一个新项目,我想在其中添加一些脚本。为了简单起见,不需要任何提升或任何繁重的模板。所以我的问题是如何仅使用 Lua C Api 来做到这一点?

不幸的是,我遇到的所有示例都展示了如何将自定义 C++ 类型绑定到 Lua,然后在脚本中创建该类型的新对象,最后将对象返回给 C++。

4

1 回答 1

1

你想要SWIG。没有 Boost,没有繁重的模板,只有您可能想要的所有绑定,为了您的方便而自动生成。

现在,您的问题并不完全清楚:“仅 Lua C Api”可能是指“在我自己编写的代码中手动进行所有 Lua C API 调用”。如果这就是您的意思,请从去过那里的人那里拿走:您实际上并不想这样做。这既困难又没有回报,而且你什么也得不到。使用 SWIG。如果需要,您可以手动编辑它生成的绑定,但使用 SWIG。

于 2013-02-25T16:58:51.437 回答