无需编写文件Windows和Unix即可在Python和C ++之间传输数据

时间:2017-08-09 17:29:27

标签: python c++ linux windows unix

我有预先存在的python和C ++文件,其中python文件定义了许多点,C ++代码用现有的库完成了我需要的计算。这个的最终产品是C ++代码写出的文件。我在python中寻找一种方法来获取2000点的列表,将其传递给函数,然后执行所有的C ++代码并输出我需要的文件。

其他一些说明。这需要能够在Linux或Windows机器上运行,并且安装新插件的数量很少(但我会采取我能得到的)。这一切都将在同一台机器上运行。

请让我知道我最好的选择!

2 个答案:

答案 0 :(得分:0)

您可以使用google的protobuf在python和C ++之间定义消息:

https://developers.google.com/protocol-buffers/

按照protobuf约定定义.proto文件,然后将该proto文件转换为python包和C ++定义。

在python和C ++应用程序之间添加消息,同时发送消息确保您使用适当的API对其进行编码和接收解码。编译时包括标题和包。

答案 1 :(得分:0)

这是可能的,但你必须花时间。需要一些步骤。

你可以使用swig创建一个共享的库/ dll来包装python的c ++函数。这将在linux /和windows上运行,如果你为linux和win32编译它。

另一种选择是在c ++中嵌入python。

最后为Windows打包整个东西使用cx_freeze创建一个windows exe然后innosetup来制作一个安装包。