【问题标题】:Sharing Data between Python and C++ [duplicate]在 Python 和 C++ 之间共享数据 [重复]
【发布时间】:2014-01-28 08:33:02
【问题描述】:

我在 Python 中有一个对象。 该对象包含数据字段, 我想传递给 c++ 可执行文件。

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

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

这可能使用 python 和 C++ 吗? 如果是,有什么好方法。

【问题讨论】:

  • 你可以直接使用Python API,或者像Boost.Python这样的第三方包装器,或者查看搜索“Python C++”的任何其他结果。

标签: python c++ interface


【解决方案1】:

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

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

编辑您可能对ThriftCapnProto 感兴趣,您可以使用它们来获得类似的结果。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 2018-04-25
    • 2023-02-20
    • 2015-12-19
    相关资源
    最近更新 更多