gpt4 book ai didi

python - 如何从 Python 代码中导出 .so 符号

转载 作者:行者123 更新时间:2023-12-02 10:22:07 24 4
gpt4 key购买 nike

我需要在 Python 3.8 中编写一些功能并遵守给定的 C++ 接口(interface)。该代码应替换现有的 .so文件,它公开了在 C++ 头文件中定义的这个接口(interface)。

到目前为止,这是我考虑的两个选项:

  • 构建包装器 .so通过在 C++ 中对其进行编码,包括接口(interface) header 并使用 PyEval_CallObject(...) 将每个调用委托(delegate)给 Python 来编写文件
  • 使用 Cython 编译 .so来自 .pyx试图导出所需的符号

  • 选项 1 很可能会起作用,但对于一个愚蠢的包装器来说似乎需要做很多工作。肯定有更好的办法。
    我无法让选项 2 起作用,我不知道这是否可能。

    很高兴听到任何其他想法和提示。

    最佳答案

    最后我选择了 1. 作为解决方案,但使用了一个名为 pybind11 的不错的库。 (https://github.com/pybind/pybind11)。它确实简化了从 c++ 连接 Python 和从 Python 连接 c++ 的过程,尤其是在类型转换方面。这样包装器.so文件变得非常小。

    关于python - 如何从 Python 代码中导出 .so 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59645717/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com