寻找一种可嵌入的脚本语言,支持C++、64位和跨平台。

5
我正在寻找一种在32位和64位计算机上以及Windows和Linux上均可运行的脚本语言。 我将把它嵌入到C ++应用程序中,因此我更喜欢它是用C ++原生编写而非C。 我还希望脚本具有线程/异步支持。
到目前为止,我看过的语言是GameMonkey,Lua和V8 JavaScript引擎。 V8 JavaScript到目前为止最有吸引力。 我不想使用GameMonkey,因为据我所知,它不支持64位寻址。 Lua是用C编写的,所以我可能会使用C ++包装器,但我真的不喜欢混合C和C ++代码。
那么,还有其他一些可以看看的替代方案吗?

1
Lua可以直接作为C++编译。 - lhf
谢谢lhf,这是个好消息 :) - Tr41n
也感谢starblue修复我的标签 :) - Tr41n
5个回答

6

我个人更喜欢使用Lua,可能是因为它被魔兽世界所使用,而我也为魔兽世界插件进行了自己的调整。但我已经看到很多人对它的评价很高,甚至在SO上也是如此。


是的,我选择使用Lua。谢谢 :) - Tr41n

4
我推荐使用Lua语言。它的特点是超级便携(它甚至可以在PalmOS、WindowsCE和DOS下运行!),体积小(只有200-300KB),速度快,并且非常容易与C/C++进行接口对接。
此外,Michael Pall正在大力推进LUA JIT实现的工作。他目前的beta-4版本支持x86和x86_64 JIT编译,并且击败了我所知道的几乎所有解释性语言。你可以访问http://luajit.org/了解更多相关信息。

哇,这太令人兴奋了,我将使用Lua JIT :)。谢谢。 - Tr41n

3

谢谢,我之前没见过Falcon / ChaiScript / 或者IO。Falcon是一种有趣的语言。 - Tr41n
是的,我在一个大项目中使用它,出于某些原因它比Python更好。话虽如此,我想它应该可以在64位上工作,但我还没有尝试过。 - Klaim
只是想确认64位的ChaiScript确实可以工作。它只在Linux上进行了官方测试,但没有发现任何问题。 - lefticus

2
你还可以使用Squirrel,它是C++语言,具有类似于C/Java的语法,支持面向对象编程(甚至包括类继承)和许多其他好用的功能。在速度方面与Lua相当,但一旦编译后代码大小略大。
如果你正在使用C++编写程序,你可能会更喜欢Squirrel,因为它的语法更加吸引人(无论是从视觉上还是从生产力上来看,特别是如果你经常编写C++代码)。

1
如果您使用qt,可以使用qtscript。 否则,python可能是一个不错的选择。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接