如何从Python代码中导出.so符号 我需要在Python 3.8中编写一些功能,并遵守给定的C++接口。代码应该替换现有的。因此,文件公开了C++头中定义的这个接口。< /P>

如何从Python代码中导出.so符号 我需要在Python 3.8中编写一些功能,并遵守给定的C++接口。代码应该替换现有的。因此,文件公开了C++头中定义的这个接口。< /P>,python,c++,Python,C++,以下是我目前考虑的两个选项: 编译包装器 .S/文件,在C++中编码,包括接口头,并用 PyValueCalLubDug(…)< /Calp> 将每个调用委托给Python。 使用Cython从.pyx编译.so,尝试导出所需的符号 选项1很可能会起作用,但对于一个愚蠢的包装器来说似乎需要做很多工作。一定有更好的办法。 我无法让选项2发挥作用,我也不知道这是否可行 很高兴听到任何其他想法和提示。最后我选择了1。作为解决方案,但使用一个名为pybind11()的漂亮库。它实际上简化了从C++和C+

以下是我目前考虑的两个选项:

  • 编译包装器<代码> .S/<代码>文件,在C++中编码,包括接口头,并用<代码> PyValueCalLubDug(…)< /Calp>
  • 将每个调用委托给Python。
  • 使用Cython从
    .pyx
    编译
    .so
    ,尝试导出所需的符号
  • 选项1很可能会起作用,但对于一个愚蠢的包装器来说似乎需要做很多工作。一定有更好的办法。 我无法让选项2发挥作用,我也不知道这是否可行


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

    最后我选择了1。作为解决方案,但使用一个名为
    pybind11
    ()的漂亮库。它实际上简化了从C++和C++到Python的Python接口,特别是涉及到类型转换的时候。这样,包装器
    。因此
    文件变得非常小