3

我们想将脚本添加到项目中。

我们正在犹豫使用哪个脚本引擎。我在过去使用过 V8,它非常令人印象深刻。我也使用过 Mono,但仅限于玩具项目或原型。

约束是:

  1. 执行速度。
  2. 易于集成。
  3. 必须在 Windows 上工作。
  4. 64 位支持。
  5. 在 Visual Studio 下编译。

哪种发动机最适合?

(有没有使用 Visual Studio 在 win64 下编译 Mono 的教程?是否有一些包含 Lib 文件和 DLL 的包?)

4

5 回答 5

7

我建议你看看Lua。我认为它非常令人满意地满足您的需求。

于 2011-03-05T05:41:56.510 回答
4

由于没有赞成的答案,我将提到ChaiScript(是的,我是该项目的共同创建者)。它是一个仅用于嵌入 C++ 应用程序的标头脚本引擎。它具有完整的 64 位支持,可与 MSVC、G++ 和 MinGW 一起使用。唯一的外部依赖是boost。

它不赢的地方是速度。如果您需要在脚本本身中进行大量计算,那么我认为您使用的是错误的脚本。您可以向脚本引擎公开的功能级别越高越好。

于 2011-03-05T05:36:58.213 回答
3

V8。它实际上一个脚本引擎,而不是像 Mono(它在大小上与 Java 相媲美)这样的完整编程环境。

但是...如果您想要一种脚本语言,您可能还想看看 Lua。它以易于嵌入、非常快、非常小、非常容易编程而著称,并且具有非常自由的许可证。如果速度很重要,还有 LuaJIT,它仍在开发中,但小心翼翼地在数值编程方面胜过 C。

于 2011-03-03T12:11:03.413 回答
2

Mono 发行版中包含一个 MSVS 解决方案文件,它足以构建一个库(但您将无法构建 .DLL,最好从二进制发行版中选择它们)。有关mkbundle将 .NET DLL 嵌入到单个二进制文件中的方法,请参阅。至于脚本本身,您可以嵌入 Mono C# 编译器(它不是那么大,而且很容易集成)或使用针对 .NET 的众多脚本语言中的任何一种,例如 IronPython。

于 2011-03-03T12:29:41.303 回答
0

Python 也不错,使用Boost.Python

于 2011-03-03T12:23:48.567 回答