用C ++将Lua代码转换为C ++类

时间:2011-10-19 06:27:17

标签: c++ lua

我见过类似的帖子,但没有人以同样的方式提出这个问题。

基本上,我最近一直在玩Shiva3d(http://www.stonetrip.com/),这是一个3D引擎。引擎内部的编码在Lua中,但是从IDE导出时的实际产品是C ++代码。虽然编码受到限制,但它在将函数,变量和所有内容导出回C ++代码方面做得很好。

我想知道的是,我可以创建一个基本引擎,其中会有一组预定义的类,然后使用Lua来扩展/重载这些基类(通过提供某些预定义的必需函数)并获取该代码在C ++中是否存在不同的Lua / C ++绑定库?

2 个答案:

答案 0 :(得分:2)

查看SWIG http://www.swig.org/

它解析C ++标头并为多种语言(包括Lua)创建绑定。

答案 1 :(得分:2)

虽然我非常喜欢SWIG,但我爱上了luabind,因为你有更直接的控制权。此外,它还提供了一个内置的面向对象系统,您不需要额外的翻译/编译器,如swig。