创建一个C++类的实例并在Python中调用它的方法

Hel*_*ali 6 c++ python dll instantiation

我想在我的python应用程序中使用C++库.我可以在python中加载dll但是找不到任何关于如何在c ++ dll中创建类的实例并在该onject上调用方法的解决方案.

以下是我所做和想要的

My.dll中的C++代码

class MyClass
{
  public:
    MyMethod(int param);
}
Run Code Online (Sandbox Code Playgroud)

Python代码

from ctypes import *
myDll = windll.LoadLibrary("My.dll")
Run Code Online (Sandbox Code Playgroud)

我想做以下事情

myClassInstance = myDll.InstantiateMyClass()
myClassInstance.MyMethod(5)
Run Code Online (Sandbox Code Playgroud)

Cat*_*lus 4

虽然它可能有可能与ctypes的,它肯定不会是这么简单.使用例如Boost.PythonCython可以更容易地创建一个适当的CPython扩展,将该类暴露为Python类型.