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

C++ 将Lua代码转换为C++;用C++;,c++,lua,C++,Lua,我见过类似的帖子,但没有一篇是以同样的方式提问的 基本上,我最近一直在玩Shiva3d(),这是一个3d引擎。引擎内部的编码是在Lua,但是,从IDE导出的实际产品是C++代码。虽然编码受到限制,但它在输出函数、变量和所有东西方面都是公平的,在C++代码中。 我想知道的是,我能创建一个基本引擎,在那里有一组预定义类,然后使用Lua来扩展/重载这些基类(通过提供某些预定义的必需函数),并用C++ C++中的不同的Lua /C++绑定库来获得该代码? < P>查看SWIG 解析C++头,并为多种语

我见过类似的帖子,但没有一篇是以同样的方式提问的

基本上,我最近一直在玩Shiva3d(),这是一个3d引擎。引擎内部的编码是在Lua,但是,从IDE导出的实际产品是C++代码。虽然编码受到限制,但它在输出函数、变量和所有东西方面都是公平的,在C++代码中。 我想知道的是,我能创建一个基本引擎,在那里有一组预定义类,然后使用Lua来扩展/重载这些基类(通过提供某些预定义的必需函数),并用C++ C++中的不同的Lua /C++绑定库来获得该代码?

< P>查看SWIG


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

< P>虽然我很喜欢Sigg,但我爱上了,因为你有更多的直接控制。此外,它还提供了一个内置的面向对象系统,您不需要像swig这样额外的翻译器/编译器。

恐怕我不完全理解您所描述的内容。听起来你是说SHIVA3D正在将Lua代码编译成C++代码。也就是说,把Lua转换成C++,这正是他们正在做的。当然,LUA代码只扩展预定义的C++代码,用于更快更容易地编程。我想看到一些证据,Shiva实际上是在编译Lua C++。因为这似乎是极不可能的,也是极不必要的。你很可能误解了他们的行为。请参考:(由于某种原因颠倒了顺序)。它完美地表达了我的意思。Shiva3D所做的,就是使用Lua作为脚本语言。LUA脚本并不是以任何方式编译成C++的。它们是从C++调用的。它能导出将这些头扩展回C++的LUA脚本吗?它能导出将这些头扩展回C++的LUA脚本吗?不,我认为它不会有用。它使C++函数/类的输出能够达到Lua,但不是反过来。