我想将脚本语言嵌入到我的C ++应用程序中。该语言可以是javascript,lua或最好是python。
[我不是在寻找Boost.Python / swig之类的东西,它能够将我的c ++函数/类包装到python接口,而是一个python_evaluate_and_return_result_as_variable("my_code");
函数。
我有一堆包含一些整数的结构:
struct my_integers {
int a;
int b;
int c;
int d;
int e;
};
现在我想用这些整数做一些数学运算,例如:
i.a = i.c * i.e;
我想做的数学将来会发生很大变化,我需要其他人,然后我才能在不访问c ++代码的情况下更改数学。我正在考虑这样的代码结构:
我初始化我的结构并用起始值填充它
- [我加载了一个外部python函数,可以说“ my_python_function”,它将结构作为参数,并在返回之前对其进行数学处理。
- 我得到的结构像
i = my_python_function_cppwrapper(i)
非常感谢您的帮助,罗宾。
PyRun_SimpleString("import math; x = math.sqrt(2 * 2)");
对于更复杂的事情,您将不得不查看API文档,但这非常简单。
tcl具有很好的c ++包装器(在boost.python上建模),这使得调用和将回调连接到您的代码变得微不足道了
my_integers
结构的成员,则是] >将C ++类包装在Python接口中。当然,您可以随意包装任意数量的类-在本示例中,您将包装my_integers
,然后embed a Python interpreter用my_integers
做一些事情。