[英]How to extend Python with C++?
我有执行以下操作的Python代码:
从仿真软件获取优化问题。
使用多线程IPOPT算法解决此优化问题。
将2中获得的结果转换为另一个维度。
以图形形式显示结果。
现在,我已经用C ++写了一个类来解决优化问题(第2点)以提高速度,并且出于某些其他原因,它从第1点接收输出(问题,约束等),并给出进一步传递给该输出的输出。第3点(Python中的函数)。
如何将从1获得的这些变量传递给2中的C ++类,然后在3中传递回Python函数? 以下是我正在尝试的方法:
我使用SWIG来生成包装文件。 SWIG为2.cpp
和2.h
C ++文件创建包装的接口文件:
/* File: 2.i */
%module t2c_main
%{
#define SWIG_FILE_WITH_INIT
#include "../include/2.h"
%}
%include ../include/2.h
运行SWIG之后,我得到了一个Python文件和一个cxx文件。 现在我在使用这些文件时遇到了问题; 如上所述,我需要传递变量。
您如何精确地传递变量显然取决于您如何存储数据。 不过,我们假设t2c_main模块包含方法addDataPoint(int,int);
然后,您将执行以下操作:
您现在应该可以执行类似的操作
t2c.addDataPoint(5,10)
在您的python代码中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.