我有一个C ++程序:
class X
{
private:
int a;
public:
int func(char *str);
};
现在我想在我的Python程序中调用函数func。我该怎么办?
我已经使用ctypes从我的Python程序中成功调用了C函数。 但是我似乎无法弄清楚如何调用C ++对象中定义的函数。
我已经使用过ctypes,所以我想弄清楚如何以这种方式完成它。但是我对其他技术持开放态度。另外我的项目提出了一个constarint,我不应该在我的C ++程序中使用包装函数。
答案 0 :(得分:2)
答案 1 :(得分:1)
您标记了问题ctypes,但您无法直接从ctypes实例化C ++对象。您可以将C ++对象包装在C接口中,然后使用ctypes。或者你可以编写一个包含C ++代码的Python扩展模块。
答案 2 :(得分:0)
Boost.Python的替代方案是SWIG。
答案 3 :(得分:0)
尝试http://swig.org/ 几年前我用swig包含了一些c / c ++代码在wxPython中使用它们。 我不记得太多的细节,但我觉得swig很容易使用。
希望有所帮助。