![]() |
1
2
既然没有人回答,我将提供我在此期间收集的一切。希望能对一些人有所帮助。 Python的ctypes只支持C语言特性。因此,无法使用CyType直接从Python访问类和其他C++对象。但是,有一些方法可以访问它们。 为C++类创建C样式对象,然后为它们创建Python包装器。
C样式对象基本上是指向动态分配的C++对象的指针。它应该有额外的方法,比如传统命名的
当您希望完全控制正在发生的事情并且不介意在Python中复制接口时,这可能是最好的解决方案。 Boost提供了一个Boost::Python库来处理这个问题。它可以让你导出任何你需要的东西-类,操作符,甚至多个重载方法。
更快的方法11 因为它原本是支持C++ 11的,但是它目前支持C++ 14和实验C++ 17,但是我用C++来处理它,到目前为止还没有发现任何问题。 我还不确定哪种方法最适合我的项目,但是现在,我使用pybind11,只是为了在项目开发过程中使它更容易。 |