使用Lua C API将现有C变量绑定到Lua

时间:2013-02-22 22:42:32

标签: c++ binding lua

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

binded_object.property = new_value

现在我正在开发一个新项目,我想在其中添加一些脚本。为简单起见,不需要增强或任何重模板。所以我的问题是如何只使用Lua C Api?

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

1 个答案:

答案 0 :(得分:1)

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

现在,您的问题并不完全清楚:“只有Lua C Api”,您可能意味着“在我自己编写的代码中手动执行所有Lua C API调用”。如果这就是你的意思,那就是那些去过那里的人:你实际上并不想那样做。这很困难而且没有收获,你得到的任何东西都没有任何交换。使用SWIG。如果需要,可以手动编辑它生成的绑定,但使用SWIG。