將有狀態的Python腳本嵌入到C++程序中我有一個C++程序可以持續生成數據。我有一個處理這些數據的python類。我想用這個python類來處理數據:當每次生成數據點時,我都可以使用這個python腳本來處理數據。但是這個Python腳本必須是「有狀態的」,即它應該能夠記住它在這個數據點之前做了什麼。使用boost :: python
一個超級基本的例子是,我的C++程序剛剛生成的數字,和我的Python類計算數的累計總和產生:
的Python:
class CumSum:
def addone(x):
self._cumsum += x;
print self._cumsum;
C++
[Somehow construct a CumSum instance, say c]
for (int i=0; i<100000; i++) {
int x = rand() % 1000;
[Call c.addone(x)]
}
我聽說boost :: python是處理這個問題的好方法。任何人都可以勾畫出如何去做?我試圖閱讀助推文件,但他們太大,我不能消化。
我感謝您的幫助。
Boost.Python的確實會幫你的:你可以導入一個Python模塊('.py'文件),創建一個實例。並將其保存在C++變量中,然後在需要時從C++調用方法。從教程開始:http://www.boost.org/doc/libs/1_47_0/libs/python/doc/tutorial/doc/html/index.html –