我已经用C ++实现了几个类(例如下面的GetRadius
,GetHeight
,Multiply
,Add
。我想将Python解释器嵌入到C ++应用程序中,以便我可以编写一个Python脚本(下面是config.py
)来实例化这些对象,如下所示:
#!/usr/bin/env python
# config.py
from my_cpp_classes import *
instantiate_in_cpp = []
# Area of cylinder
circle = Multiply(GetRadius(), GetRadius()), 3.14)
side = Multiply(Multiply(2, GetRadius()), GetHeight()) # function composition
area = Add(circle, circle, side) # variadic
# Volume of cylinder
volume = Multiply(end, GetHeight())
instantiate_in_cpp.append(area)
instantiate_in_cpp.append(volume)
在某种意义上,我使用Python作为标记语言来配置C ++应用程序。
在没有Boost的情况下,推荐的方法是什么? (我看到Boost.Python提供了一种嵌入解释器并将C ++对象暴露给Python程序的方法。)我是否会遇到试图暴露函数组合或可变函数的任何问题?