【发布时间】:2011-03-27 16:24:43
【问题描述】:
我有兴趣尝试在我的应用程序中嵌入 Python,让用户在应用程序环境中运行 Python 脚本,访问内部(C++ 实现的)对象等。我对此很陌生,所以不要确切地知道我在做什么。
我读过Embedding Python in Another Application,虽然这似乎只谈论 C API 和平面 C 函数,而不是类或对象(除非我错过了什么),而且它的“在 C++ 中嵌入 Python”部分只有两句话长。但是,我也遇到了how to use boost::python,这看起来很棒。
有一个问题:boost::python is not supported by C++ Builder 2010。
因此,考虑到这一点,在使用 C++ Builder 2010 编译的 C++ 应用程序中嵌入 Python 的最佳方法是什么,以及使用哪种技术最好,如何公开/集成类和对象以提供 Python程序员访问程序的面向对象内部?我错过了标准方法吗?将内部类或实例化对象作为对象暴露给 Python 是否容易,或者 API 是真正的 C 风格或平面/非 OO,如果是这样,通过这样的 API 模拟底层 OO 层的最佳方法是什么?
注意:我实际上使用的是 RAD Studio,它包括 C++ Builder 和 Delphi。可能可以使用某种特定于 Delphi 的绑定,但我遇到的是 six or seven years old,或者是新的(Python 2.6)但 don't seem to have any documentation,并且在问题列表中有 cmets,如 @ 987654326@ 这并不令人鼓舞。但是请随意包含特定于 Delphi 的答案,特别是如果您认为它们可能会在 D+CB 组合应用程序中工作。我感谢所有答案,即使它们不是很完美 - 我可以研究,我只需要关于去哪里的指针。不过,原生 C++ 解决方案可能是理想的,因为使用 VCL 派生的对象有其自身的局限性。
感谢您的意见!
【问题讨论】:
标签: python delphi embed c++builder c++builder-2010