为C++选择嵌入式脚本语言
Choosing embedded scripting language for C++
我想选择一种在C++上使用的嵌入式脚本语言。它应该连接像Oracle这样的数据库。我的主机应用程序是一个服务器应用程序。这将把原始数据传递给脚本。脚本将解析并执行一些特定的逻辑。同时更新数据库。然后脚本将返回原始数据作为结果。你能帮我选吗?Thanx
Lua旨在成为一种嵌入式语言,并具有一个简单的API。Python和Ruby的用途要通用得多,而且(至少对于嵌入)要复杂得多。仅凭这一点,我就会使用Lua。
Lua已经提到了,使用luabind将为您提供一个更具c++风格的接口
您也可以查看chaiscript。它的设计更适合c++。
将其保存为测试。c:
#include <Python.h>
int
main(int argc, char *argv[])
{
Py_Initialize();
PyRun_SimpleString("from time import time,ctimen"
"print 'Today is',ctime(time())n");
Py_Finalize();
return 0;
}
运行以下命令(如果您安装了Python 2.7):
gcc测试-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/
我刚刚意识到我在这里回答了一个类似的问题:
https://stackoverflow.com/questions/191222/what-is-a-good-embeddable-language-i-can-use-for-scripting-inside-my-software
TCL将是一种易于嵌入的脚本语言的另一种选择。
就我个人而言,我会选择你和/或任何将使用脚本语言的人最熟悉的脚本语言,特别是如果最终用户能够运行自定义脚本,你需要知道他们在业务领域熟悉的语言(如果有的话),例如CAD/CAM人员可能知道TCL,游戏人员可能知道Lua等。
您可能对ObjectScript 感兴趣
ObjectScript,简称OS,是一种新兴的编程语言。它是免费的、跨平台的、轻量级的、可嵌入的和开源的。它结合了多种语言的优点,包括:JavaScript、Lua、Ruby、Python和PHP。操作系统具有Javascript的语法、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;
}
- 是否有用于C++的类似 C 的语法脚本语言解释器?
- 使用C/C++作为脚本语言
- 我为什么要嵌入脚本语言
- C# 作为脚本语言
- 在C++中使用C#作为脚本语言
- 在Qt HTML5应用程序中使用替代脚本语言
- 在C++中使用脚本语言
- C++在编写脚本语言时如何处理类类型
- OCaml可以用作C++的脚本语言吗
- 从编译语言开发人员的角度理解/学习脚本语言
- 使用C++或任何windows脚本语言格式化文本数据
- 我想在C++项目中包含一种脚本语言.Lua vs Bison/Yacc
- 编写简单脚本语言的教程或介绍
- 用脚本语言实现lambdas
- 将脚本语言嵌入游戏引擎中的编程语言的目的是什么?
- 在c++中使用脚本语言在运行时创建新的类/成员
- 球拍作为游戏引擎中的脚本语言
- 编写脚本语言
- 脚本语言解释器源代码,可以学习
- 脚本语言和游戏开发/编程