将c ++库包装到python的混乱

时间:2016-03-09 20:28:45

标签: python c++ wrapper

我有一个.cpp和.h源文件对,它是我所做的c ++库的管理器(我猜也是一个包装器)。我想让人们使用这个经理在python中使用我的库。我听说过几种不同的方法将这个库包装成python,如cythonboost.python,但我在理解这个过程时遇到了麻烦。

如果我想让这个管理器在python中可用,我是否需要为每个版本的python以不同的方式包装它? (2.7 vs 3.4)我是否还需要为每个版本的每个操作系统以不同的方式包装它?那么Windows的2.7 / 3.4和Linux的2.7 / 3.4呢?

1 个答案:

答案 0 :(得分:1)

关于您对此过程的疑惑,请按照您找到的任何包装器库或注释中建议的任何教程进行操作。

  

如果我想让这个管理器在python中可用,我是否需要为每个版本的python以不同的方式包装它? (2.7 vs 3.4)

是。您可以将为Python 3.4编译的二进制模块加载到Python 3.5中,但它不太可能适用于主要版本。

  

我是否还需要为每个版本的每个操作系统以不同的方式包装它?

是。正如您需要为不同的操作系统(可能还有版本)和CPU架构编译C ++代码一样,Python模块也没有什么不同。然而,"以不同的方式包装它"只是意味着"为目标环境编译"。