如何链接Python(2.7.3)和cpp

时间:2016-04-05 08:28:56

标签: python c++

我是一个在Python上崭露头角的新手。我正在开发一个使用Python读取传感器的项目。 我想用c ++代码分析结果。有没有办法发送python传感器读取的结果,以便c ++代码可以读取它?提前致谢。

2 个答案:

答案 0 :(得分:1)

你有很多解决办法:

  1. 您可以使用Python库在您的C应用程序中嵌入您的python脚本:https://docs.python.org/2/extending/embedding.html
  2. 您可以将脚本作为外部应用程序启动,只需读取返回的值:
  3. > #include<stdio.h>
    > #include<stdlib.h> system("my_bash_script.sh");
    

    如果你想在另一个方向工作,你可以在Python中嵌入一些C ++代码。在过去,我使用Swig做到了这一点: http://www.swig.org/tutorial.html

答案 1 :(得分:1)

结合Python和C ++有两种选择:

  • 您可以在单独的进程中实现C ++逻辑,并让您的Python代码调用该程序。这很容易实现,但是如果两个部分之间的数据交换需要高效和/或如果传递复杂数据,则必须考虑如何正确有效地来回串行化数据。

  • 您可以在C ++中实现Python模块,然后将其加载到Python解释器中(即Python解释器承载C ++代码)。这并非完全无关紧要(参见Extending Python with C or C++),但避免了与先前想法所暗示的过程控制相关的所有问题。

  • 您可以编写一个嵌入Python解释器并负责评估的C ++程序(即C ++代码托管Python解释器)。这并不是很困难(参见Embedding Python in Another Application),如果您使用C ++中的大部分代码并且它只是您想要使用Python的一些较小的部分,那么这些代码大多有意义。