我有兴趣尝试在我的应用程序中嵌入 Python,让用户在应用程序环境中运行 Python 脚本,访问内部(C++ 实现)对象等。我对此很陌生,所以不知道到底是什么我正在做。
我读过Embedding Python in Another Application,虽然这似乎只谈论 C API 和平面 C 函数,而不是类或对象(除非我错过了什么),而且它的“在 C++ 中嵌入 Python”部分只有两句话长. 但是,我也遇到了如何使用 boost::python,这看起来很棒。
有一个问题: C++ Builder 2010 不支持boost::python 。
因此,鉴于此,将 Python 嵌入使用 C++ Builder 2010 编译的 C++ 应用程序的最佳方法是什么,以及使用哪种技术最好,如何公开/集成类和对象以让 Python 编码器访问对象 -面向程序的内部? 我错过了标准方法吗?将内部类或实例化对象作为对象暴露给 Python 是否容易,或者 API 是真正的 C 风格还是平面/非 OO,如果是这样,通过这样的 API 模仿底层 OO 层的最佳方法是什么?
注意:我实际上使用的是 RAD Studio,它包括 C++ Builder 和 Delphi。可能可以使用某种特定于 Delphi 的绑定,但我遇到的那些是六七岁,或者是新的(Python 2.6)但似乎没有任何文档并且有问题列表中的评论,例如“任何人都读过这些 [原文如此] 评论?有人在这个项目上工作吗?”这并不令人鼓舞。但请随意包含特定于 Delphi 的答案,特别是如果您认为它们可能会在 D+CB 组合应用程序中工作。我感谢所有答案,即使它们不是很完美 - 我可以研究,我只需要关于去哪里的指针。不过,本机 C++ 解决方案可能是理想的,因为使用 VCL 派生的对象有其自身的局限性。
感谢您的输入!