[英]Choosing embedded scripting language for C++
我想选择一种嵌入式脚本语言,我将在 C++ 上使用它。 它应该连接一个数据库,例如 Oracle。 我的主机应用程序是一个服务器应用程序。 这会将原始数据传递给脚本。 该脚本将解析并执行一些特定的逻辑。 还更新数据库。 然后脚本将返回原始数据作为结果。 可以帮我选吗? 谢谢
Lua已经被提及,使用luabind会给你一个更 c++ 风格的界面。
你也可以看看chaiscript 。 它的设计更适合 c++。
将此另存为 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 。
我会建议 Python 而不是 Lua,即使 Lua 也不错。
我使用 AngelScript 将嵌入式脚本添加到我的 C++ 应用程序中取得了很大的成功。 我发现它很容易绑定,语法也很舒服,但这取决于你的目标受众。 我发现 Lua 非常快并且相对容易绑定,但语法对我来说有点不舒服。 AngelScript 非常像 C/C++,我觉得它很容易理解和维护,但对于那些花费更多时间使用 CSS 或 HTML 的人来说,可能会觉得它很麻烦,而且语言习语可能翻译得不好。
http://www.angelcode.com/angelscript/
http://www.gamedev.net/forum/49-angelcode/
刚刚意识到我在这里回答了一个类似的问题:
您可能对ObjectScript感兴趣
ObjectScript,简称OS,是一种新的编程语言。 它是免费的、跨平台的、轻量级的、可嵌入的和开源的。 It combines the benefits of multiple languages, including: JavaScript, Lua, Ruby, Python and PHP. OS features the syntax of Javascripts, the "multiple results" feature from lua, syntactic shugar from Ruby as well as magic methods from PHP and Ruby - and even more!
使用 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;
}
TCL 将是易于嵌入的脚本语言的另一种选择。
就我个人而言,我希望 go 使用您和/或将使用该脚本语言的任何人已经最熟悉的脚本语言,特别是如果最终用户能够运行自定义脚本,您将需要知道他们使用的语言(如果有的话)熟悉他们的业务领域例如CAD / CAM人可能知道TCL,游戏人可能知道Lua等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.