我想知道如何在没有外部工具(如Cython,Boost,SWIG,...)的情况下使用Python Extension API(和distutils)包装C++对象.只是用纯Python方式而不创建一个DLL.
请注意,我的C++对象具有内存分配,因此必须调用析构函数以避免内存泄漏.
#include "Voice.h"
namespace transformation
{
Voice::Voice(int fftSize) { mem=new double[fftSize]; }
Voice::~Voice() { delete [] mem; }
int Voice::method1() { /*do stuff*/ return (1); }
}
Run Code Online (Sandbox Code Playgroud)
我只想在Python中做类似的事情:
import voice
v=voice.Voice(512)
result=v.method1()
Run Code Online (Sandbox Code Playgroud)