繁体   English   中英

C / C ++ Python解释器

[英]C/C++ Python interpreter

我要做的是用C / C ++编写一个应用程序,允许用户输入Python脚本,然后应用程序将解释并运行该脚本。 上述脚本将有一个单独的API,我将在C中实现,然后向用户公开。

有没有办法做到这一点? 我在Google上搜索过,但我只找到了创建“扩展”的方法而不是实际的解释器(比如Lua允许)。

有关在另一个应用程序中嵌入Python的文档说:

前面的章节讨论了如何扩展Python,即如何通过将C函数库附加到它来扩展Python的功能。 反过来也可以这样做:通过在其中嵌入Python来丰富您的C / C ++应用程序。 嵌入为您的应用程序提供了使用Python而不是C或C ++实现应用程序的某些功能的能力。 这可以用于许多目的; 一个例子是允许用户通过在Python中编写一些脚本来定制应用程序以满足他们的需求 如果某些功能可以更容易地用Python编写,您也可以自己使用它。

特别注意扩展嵌入式Python

到目前为止,嵌入式Python解释器无法访问应用程序本身的功能。 Python API通过扩展嵌入式解释器来实现这一点。 也就是说, 嵌入式解释器通过应用程序提供的例程进行扩展

只需阅读我引用的文档,您就应该能够在用C编写的应用程序中实现Python解释器。

您可以使用Boost Python进行从C ++到Python的调用,反之亦然

如果您感兴趣我最近从第一原则实现了C ++的嵌入式Python脚本。 我创建了一个名为ECS的Python C ++ Python包装器库:Python(使用Python的嵌入式C ++脚本),它允许您将对象从C ++应用程序公开到嵌入式Python解释器以进行交互式脚本编写。 它重量轻,使用方便(免费!)。

http://sourceforge.net/projects/ecspython

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM