为C++选择嵌入式脚本语言

suy*_*uti 9 c++ ruby python scripting lua

我想选择一种我将在C++上使用的嵌入式脚本语言.它应该连接Oracle等数据库.我的主机应用程序是服务器应用程序 这会将原始数据传递给脚本.该脚本将解析并执行一些特定的逻辑.还更新数据库.然后脚本将返回原始数据作为结果.你能帮我选择吗?感谢名单

Jef*_*ter 19

Lua旨在成为一种嵌入式语言,并且具有简单的API.Python和Ruby更通用,并且(至少嵌入)更复杂.仅这一点就会让我使用Lua.

  • @Alexander:不打算.它可以嵌入它,但它不是它的初始目的,你可以在嵌入它所需的努力中看到它. (6认同)

mka*_*aes 12

已经提到了Lua,使用luabind将为您提供更多c ++风格的界面.
你也可以看一下chaiscript.它的设计更符合c ++.

  • +1:对于Chaiscript.它易于集成即使重载方法也可以工作. (2认同)

Ale*_*der 8

保存为test.c:

#include <Python.h>

int
main(int argc, char *argv[])
{
  Py_Initialize();
  PyRun_SimpleString("from time import time,ctime\n"
                     "print 'Today is',ctime(time())\n");
  Py_Finalize();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

运行此命令(如果安装了Python 2.7):

gcc test.c -o test -I/usr/include/python2.7 -lpython2.7

Python现已嵌入.这花了我不到一分钟,所以我很难理解"嵌入它所需的努力"的主张.

该示例来自http://docs.python.org/extending/embedding.html.

虽然Lua也很好,但我会建议使用Lua,而不是Lua.


小智 5

我在使用 AngelScript 将嵌入式脚本添加到我的 C++ 应用程序中取得了很多成功。我发现它很容易绑定,语法也很舒服,但这取决于你的目标受众。我发现 Lua 非常快并且相对容易绑定,但是语法让我有点不舒服。AngelScript 非常喜欢 C/C++,我觉得它很容易理解和维护,但对于那些花费更多时间使用 CSS 或 HTML 的人来说,可能会觉得它很麻烦,而且语言习语可能无法很好地翻译。

http://www.angelcode.com/angelscript/

http://www.gamedev.net/forum/49-angelcode/

刚刚意识到我在这里回答了一个类似的问题:

/sf/ask/13385571/