在C ++中使用Lua的推荐库是什么?[关闭]


13

我目前正在计划如何将Lua脚本集成到我的2D游戏引擎中,并且我想直接使用最合适的解决方案来公开C ++类和对象。

我已经读过(如果有帮助的话):http : //lua-users.org/wiki/BindingCodeToLua

如果您有更好的脚本语言值得推荐,那就去吧; D

欢迎所有帮助,我需要最好的解决方案才能开始实施谢谢

Answers:


4

如果您的脚本语言的主要品质是易于绑定,请尝试AngelScript。它可以直接调用注册的函数,而无需编写代理函数,并且它支持各种编译器的调用约定。语言本身类似于c / c ++,视情况而定可能是好事,也可能是坏事。



4

只要您进行合理的常规绑定,LuaBind就会做您需要的一切。绑定类和函数往往是每函数一行一行。如果您想举一个例子,这是我一直在努力的游戏引擎中的适用文件(查找LuaBind界面开始的模块(L),DontKillMeBro <>是我为让我组装的一个小系统更准确地说,是对某些敏感物体的时间破坏。)

如果您想要更复杂的东西,则可能需要使用实际的Lua API。幸运的是,Lua API非常简单。


1

我们正在将OOLua用于Pioneer。它提供了一堆宏,可用于将Lua“类”绑定到C ++类。它具有相当大的功能,但是非常简单。我没有用过任何其他东西,所以我无法评论它的比较方式。这是一个例子


1

我会使用Nuclex的预编译库,并包含LuaBind的文件。(也就是说,如果您使用的是VS2008)

由于LuaBind要求您使用一些Boost库和工具来构建它,因此此软件包将节省您宝贵的时间(也许会有些头痛,谁知道)。我想说,只要您知道自己在做什么,就可以在不到一个小时的时间内使Lua正常运行。

如果您希望获得较小的性能提升,也可以考虑将默认的Lua dll更改为LuaJIT dll 。只需编译库并替换您要在主项目中链接的lib / dll,就很容易了。

祝您好运!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.