python - 混淆将 c++ 库包装到 python

标签 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?

最佳答案

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

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/

相关文章:

c++ - 嵌入:单声道与 lua

clojure - 如何封装在clojure中?

css - 父div小于子div?

python - 使用 Numpy 读取使用 C++ 数据类型生成的二进制文件

python - Django 获取列表中的未知列

python - 列表列表更改意外地反射(reflect)在子列表中

python - 通过继承扩展 subprocess.Popen

C++比较,结果如何?

c++ - 使用 std::vector 不起作用

css - 我的网站,它被剪掉了