2016-11-20 43 views
1

我见过很多使用纯C++编写的项目,但是当项目完成后,作者为项目创建Python绑定,以便用户不仅可以使用命令行工具,而且可以在Python内部使用该工具作为库。什么是为C++项目创建Python绑定的常用技巧?

我想知道如何创建Python绑定?

+0

我已经看到使用boost python(http://www.boost.org/doc/libs/1_62_0/libs/python/doc/html/index.html)以及SWIG封装C++的良好工作(http://www.swig.org/Doc1.3/Python.html)。如果需要,您也可以使用ctypes手动编写绑定(https://docs.python.org/3/library/ctypes.html),但在这种情况下,您首先需要有一个纯C接口来包装(而不是C++ )。 – qexyn

+0

@qexyn,'纯C接口包装'?你的意思是我不能有C++类包装? – avocado

+0

只有在使用python cyptes的情况下,你需要纯粹的C接口;对于混淆抱歉。 Boost python和SWIG允许直接绑定到C++,所以你不需要编写C代码。 – qexyn

回答

0

你有几个选择,你可以在评论中看到。

  • Python/C API。
  • Boost.Python的
  • Pybind11

a talk上CppCon 2016年,这可以是你的兴趣。