2014-01-09 183 views
1

我在Python中有一个对象。 此对象包含我想传递给C++可执行文件的数据字段, 。在Python和C++之间共享数据

我有这个可执行文件的源代码。

当我运行可执行文件时,我希望可执行文件从我的python对象 中获取数据并对其进行计算。

这可能使用python和C++吗? 如果是,什么是一个很好的方法来做到这一点。

+1

您可以直接使用[Python API](http://docs.python.org/2/extending /),或像[Boost.Python](http://www.boost.org)这样的第三方包装器/doc/libs/1_55_0/libs/python/doc/index.html),或查看搜索“Python C++”的其他任何结果。 – Useless

回答

1

你可以使用类似Protocol Buffers的东西作为数据交换格式。 Protocol Buffers内置了对C++和Python的标准支持,如果您需要其他语言,其他一些语言也会得到其他语言的支持。

使用协议缓冲区,您可以将您的对象定义为.proto消息。你会希望这个对象包含你需要传递给你的C++代码的所有数据。您可以使用任何类型的流(网络/文件)发送这些数据,并且可以通过C++程序(也使用Procotol缓冲区)读入。访问数据与反序列化数据流一样简单。

编辑您可能感兴趣的​​和CapnProto,你可以用它来实现类似的结果。

希望这有助于一些。