我想选择一种我将在C ++上使用的嵌入式脚本语言。它应该连接Oracle等数据库。我的主机应用程序是服务器应用程序这会将原始数据传递给脚本。该脚本将解析并执行一些特定的逻辑。还更新数据库。然后脚本将返回原始数据作为结果。 你能帮我选择吗? 感谢名单
答案 0 :(得分:19)
Lua旨在成为嵌入式语言,并具有simple API。 Python和Ruby更通用,并且(至少嵌入)更复杂。仅这一点就会让我使用Lua。
答案 1 :(得分:12)
Lua,使用luabind将为您提供更多c ++风格的界面 您还可以查看chaiscript。它的设计更符合c ++。
答案 2 :(得分: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;
}
运行此命令(如果安装了Python 2.7):
gcc test.c -o test -I / usr / include / python2.7 -lpython2.7
Python现已嵌入。这花了我不到一分钟,所以我很难理解“嵌入它所需的努力”的主张。
示例来自http://docs.python.org/extending/embedding.html。
我建议使用Lua的Python,即使Lua也很好。
答案 3 :(得分:4)
我使用AngelScript将嵌入式脚本添加到我的C ++应用程序中取得了很大的成功。我发现绑定非常容易,语法非常舒适,但这取决于你的目标受众。我发现Lua非常快且相对容易绑定,但语法对我来说有点不舒服。 AngelScript是非常容易理解和维护的C / C ++,但是对于那些花费更多时间使用CSS或HTML的人来说,可能会发现它很麻烦,并且语言习语可能无法很好地转换..
http://www.angelcode.com/angelscript/
http://www.gamedev.net/forum/49-angelcode/
刚刚意识到我在这里回答了类似的问题:
答案 4 :(得分:2)
TCL是易于嵌入脚本语言的另一种选择。
个人而言,我会使用脚本语言和/或将使用脚本语言的人最熟悉,特别是如果最终用户能够运行自定义脚本,您将需要知道什么,如果有的话,他们在业务领域熟悉的语言,例如CAD / CAM的人可能会认识TCL,游戏人可能会认识Lua等。
答案 5 :(得分:2)
您可能对ObjectScript
感兴趣ObjectScript,简称OS,是一种新的编程语言。它是免费的,跨平台的,轻量级的,可嵌入的和开源的。它结合了多种语言的优点,包括:JavaScript,Lua,Ruby,Python和PHP。操作系统具有Javascripts的语法,来自lua的“多重结果”功能,来自Ruby的语法shugar以及来自PHP和Ruby的魔术方法 - 甚至更多!
使用ObjectScript的最小程序可能是这样的
#include <objectscript.h>
using namespace ObjectScript;
int main(int argc, char* argv[])
{
OS * os = OS::create(); // craete ObjectScript instance
os->require("main.os"); // run ObjectScript program
os->release(); // release the ObjectScript instance
return 0;
}