【发布时间】:2011-08-02 21:08:54
【问题描述】:
我想编写一个混合应用程序,它使用 python 作为 GUI 组件,并使用 C++ 模块作为后台服务。
我知道如何使用 Python 和 C++ 进行编程,但我没有找到一种成熟/好的方法来让它们顺利协同工作。你们能帮我解释一下吗?一个好的文档/教程也非常感谢。
【问题讨论】:
我想编写一个混合应用程序,它使用 python 作为 GUI 组件,并使用 C++ 模块作为后台服务。
我知道如何使用 Python 和 C++ 进行编程,但我没有找到一种成熟/好的方法来让它们顺利协同工作。你们能帮我解释一下吗?一个好的文档/教程也非常感谢。
【问题讨论】:
如果您对使用 boost 感到满意,请选择 boost python。 (Tutorial)
否则,请直接使用CPython API。
使用其中任何一个,您都可以在 C++ 中创建 Python 模块 (.pyd-files)。
我有使用 boost python 的经验,我觉得它非常舒服和容易。缺点是它会导致巨大的编译时间,因为它严重依赖模板元编程。
【讨论】:
除了 boost,还有 SWIG (http://www.swig.org/)。 SWIG 用于 wxPython 的 C++ 绑定。新版本的 wxPython 将使用 SIP,我认为 PyQt 也在使用:http://www.riverbankcomputing.co.uk/software/sip/intro
Shed-Skin 也可能是一种可能性:http://shed-skin.blogspot.com/
【讨论】: