我想做的是用C/C++编写一个应用程序,允许用户输入Python脚本,然后该应用程序将解释并运行该脚本。上述脚本将有一个单独的API,我将在C中实现,然后向用户公开。
是否有一种方法可以实现这个?我已经在Google上搜索过了,但只找到了创建“扩展”的方法,而不是实际的解释器(就像Lua一样)。
是否有一种方法可以实现这个?我已经在Google上搜索过了,但只找到了创建“扩展”的方法,而不是实际的解释器(就像Lua一样)。
嵌入 Python 到其他应用程序 的文档称:
前面的章节介绍了如何扩展 Python,也就是通过将一些 C 函数库附加到 Python 上来扩展 Python 的功能。但是也有另一种可能:在你的 C/C++ 应用程序中嵌入 Python,从而增强你的应用程序。 嵌入式支持使你的应用程序可以使用 Python 来实现一些功能,而不必使用 C 或 C++。这可以用于许多目的;例如,允许用户编写一些 Python 脚本来定制应用程序以满足他们的需求。 如果某些功能可以更容易地使用 Python 编写,你也可以自己使用它。
特别关注扩展嵌入式 Python:
到目前为止,嵌入式 Python 解释器无法访问应用程序本身的功能。Python API 允许通过扩展嵌入式解释器来实现这一点。也就是说,应用程序提供了一些例程来扩展嵌入式解释器。
只需阅读我引用的文档,你就可以在使用 C 编写的应用程序中实现 Python 解释器。
你可以使用Boost Python在C++和Python之间进行调用。
如果您感兴趣,我最近从头开始实现了C++的嵌入式Python脚本。我创建了一个名为ECS:Python(嵌入式C++脚本与Python)的C++ Python包装库,它允许您将来自C++应用程序的对象暴露给嵌入式Python解释器进行交互式脚本编写。它非常轻量级且非常易于使用(而且是免费的!)。