混淆将 c++ 库包装到 python

Confusion wrapping c++ library to python

本文关键字:包装 python c++      更新时间:2023-10-16

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

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

关于您对该过程的困惑,只需按照您找到的任何包装库或评论中建议的任何教程进行操作即可。

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

是的。你也许能够将针对 Python 3.4 编译的二进制模块加载到 Python 3.5 中,但它不太可能跨主要版本工作。

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

是的。正如您需要为不同的操作系统(可能还有版本)和 CPU 架构编译C++代码一样,Python 模块也没有什么不同。但是,"以不同的方式包装它"仅表示"针对目标环境进行编译"。