我已经阅读了几个关于Cython和Swig之间的一些差异的线索并且已经实现了这两种技术,但我仍然不确定哪条路线是最佳路线。基本上我一直在研究C ++库,我想将这些函数暴露给Python。 Cython似乎相当复杂,需要我为每个需要公开的C ++类编写几个.pyx文件,而SWIG只为我做了工作。到目前为止,我对这些包装方法中的任何一种都没有很多经验,但似乎SWIG是包装我的C ++代码的明显赢家。那么争议是什么?当我在SWIG中编写一个简单的.i文件时,为什么我要花几个小时在Cython中编写.pyx文件来包装我的C ++?此外,我使用CMake作为我的构建工具,使用CMAKE比使用Cython更容易构建SWIG。我觉得我必须遗漏一些东西,因为即使像OpenCV这样的大型项目也没有使用SWIG,在我将项目专门用于SWIG之前,我想找出为什么我宁愿使用Cython或者根本不使用。以下是摘要:
我的项目: C ++源代码是主要的
非常感谢任何建议。另外,我对xdress.org很好奇 - 看起来这个项目已经死了。