我有一个 .cpp 和 .h 源文件对,它们是我制作的 c++ 库的管理器(我猜也是包装器)。我想让人们使用这个管理器在 python 中使用我的库。我听说过几种不同的方法可以将这个库包装到 python 中,比如 cython
和 boost.python
但我在理解这个过程时遇到了麻烦。
如果我想让这个管理器在 python 中可用,我是否需要为每个 python 版本以不同的方式包装它? (2.7 vs 3.4)我是否还需要为每个版本的每个操作系统以不同的方式包装它?那么 Windows 是 2.7/3.4 还是 Linux 是 2.7/3.4?
最佳答案
关于您对该过程的困惑,只需按照您找到的任何包装库或评论中建议的任何教程进行操作即可。
If I want to make this manager usable in python, do I need to wrap it in a different way for each version of python? (2.7 vs 3.4)
是的。您也许能够将为 Python 3.4 编译的二进制模块加载到 Python 3.5 中,但它不太可能跨主要版本工作。
Do I also need to wrap it in a different way for each operating system for each version?
是的。正如您需要为不同的操作系统(以及可能的版本)和 CPU 架构编译 C++ 代码一样,Python 模块也不异常(exception)。然而,“以不同的方式包装它”只是意味着“为目标环境编译”。
关于python - 混淆将 c++ 库包装到 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35901908/