选择C++的嵌入式脚本语言
我想选择一种嵌入式脚本语言,用在C++上。它需要能够连接数据库,比如Oracle。我这个主程序是一个服务器应用,它会把原始数据传给脚本。脚本会解析这些数据并执行一些特定的逻辑。同时,它还会更新数据库。最后,脚本会把处理后的原始数据作为结果返回。你能帮我选择一种合适的语言吗?谢谢!
6 个回答
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。
我建议使用 Python 而不是 Lua,尽管 Lua 也不错。
12
Lua 已经被提到过,使用 luabind 可以让你获得更像 C++ 的接口。
你也可以看看 chaiscript。它是为了更好地融入 C++ 而设计的。