在现有代码库中支持哪种脚本语言?

And*_*ant 6 scripting data-driven

我正在寻找为现有代码库添加脚本功能,并正在权衡各种软件包的优缺点.Lua可能是最明显的选择,但我想知道人们是否根据他们的经验提出任何其他建议.

脚本将在某些事件时触发,并可能会驻留一段时间.例如,在启动时,脚本可以定义程序作为多个按钮呈现给用户的若干选项.选择其中一个按钮后,程序将通知脚本可能发生进一步事件的位置.

这是唯一真正的要求;

  1. 必须是可从源代码编译的跨平台库
  2. 脚本必须能够调用已注册的代码端函数
  3. 代码必须能够调用脚本端函数
  4. 在C/C++代码库中使用.

Mar*_*son 3

根据我自己的经验:

  • Python。恕我直言,这是一个不错的选择。我们有一个相当大的代码库,有很多用户,他们非常喜欢它。
  • 红宝石。有一些非常好的应用程序,例如 Google Sketchup,就使用了它。我写了一个 Sketchup 插件,觉得它很不错。
  • Tcl。这是首选的老式嵌入式脚本语言,但现在它没有太大的发展势头。不过它的质量很高,他们在哈勃太空望远镜上使用它!
  • 卢阿。我只用它做了一些小东西,但 IIRC 它只有浮点数字类型,所以请确保这对于您将要使用的数据来说不是问题。

我们很幸运生活在脚本编写的黄金时代,因此如果您从任何流行的脚本中进行选择,都很难做出错误的选择。