我们希望为项目添加脚本。
我们正在犹豫要使用哪个脚本引擎。 我在过去的V8中使用它并且令人印象深刻。我也使用过Mono,但仅限于玩具项目或原型。
约束是:
哪种引擎最适合?
(是否有任何使用Visual Studio在win64下编译Mono的教程? 是否有一些包含Lib文件和DLL的软件包?)
答案 0 :(得分:7)
我建议你看看Lua。我认为它非常符合您的需求。
答案 1 :(得分:4)
由于没有赞成回答,我将提到ChaiScript(是的,我是该项目的共同创建者)。它是一个仅限标题的脚本引擎,专为嵌入C ++应用程序而设计。它具有完整的64位支持,可与MSVC,G ++和MinGW配合使用。唯一的外部依赖是提升。
没有赢的地方就是速度。如果您需要在脚本本身进行大量计算,那么我认为您使用的脚本错误。您可以向脚本引擎公开的功能越高级别越好。
答案 2 :(得分:2)
V8。它实际上是脚本引擎,而不是像Mono这样的完整编程环境(可以与Java相媲美)。
但是......如果你想要一种脚本语言,你可能也想看看Lua。它很容易嵌入,非常快,非常小,很容易编程,并且具有非常自由的许可。如果速度很重要,那就是LuaJIT,它仍处于开发阶段,但是要小心翼翼地击败C进行数值编程。
答案 3 :(得分:2)
Mono发行版中包含一个MSVS解决方案文件,它足以构建一个库(但是你无法构建.DLL,最好从二进制发行版中选择它们)。有关将.NET DLL嵌入单个二进制文件的方法,请参阅mkbundle
。至于脚本本身,您可以嵌入Mono C#编译器(它不是那么大,并且易于集成)或使用任何针对.NET的众多脚本语言 - 例如,IronPython。
答案 4 :(得分:0)
Python也不错,Boost.Python。