python - 将数据从一个 .exe 传递到另一个

标签 python c++

我对 C++ 相对缺乏经验,但我需要构建一个框架来整理一些数据。不一定相关,但我的数据的一般流程路径需要像这样:

  1. 数据在 python 脚本中生成
  2. python 对象被传递给已编译的 C++ 扩展
  3. C++ 扩展进行了一些更改并将数据(大概是指针?)传递给已编译的 C++/CUDA 代码 (.exe)
  4. C++/CUDA .exe 做事
  5. 数据在 python 脚本中处理并发送给更多 python 函数

第 3 步是我遇到问题的地方。我将如何调用包含 CUDA 代码的 .exe,以便它可以访问在 C++ python 扩展中看到的数据?我假设我应该能够以某种方式传递指针,但我无法找到解释如何传递的资源。我看到过有关创建共享内存的引用资料,但我也不清楚其中的细节。

最佳答案

两个可执行文件可以通过许多方式交换数据。

一些例子:

  • 向共享文件写入数据/从共享文件读取数据(不要忘记锁定,以免它们相互绊倒)。

  • 在进程之间使用 TCP 或 UDP 套接字来交换数据。

  • 使用共享内存。

  • 如果一个应用程序启动另一个应用程序,您可以通过命令行参数或在环境中传递数据。

  • 在进程之间使用管道。

  • 在进程之间使用 Unix 域套接字。

还有更多选项,但以上可能是最常见的选项。

你需要研究的是IPC(Inter-Process Communication)。

关于python - 将数据从一个 .exe 传递到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42540201/

相关文章:

c++ - 在C++中处理大量数据

c++ - sscanf 错误 : cannot convert 'String' to 'const char*'

python - 当我尝试在 Mac mojave 10.14 中安装 MySQL-python 包时出现错误 : command 'cc' failed with exit status 1.

c++ - 标量类型上的 Eigen 模板无法编译固定大小的子矩阵操作

c++ - operator<< 无法输出 std::endl -- 修复?

python - Python 中 `os.chmod` 的异步版本

c++ - 如何阻止这种内存泄漏?

python - 尝试绘制迭代但 plt.plot 为空

python - 是否可以使用类似缓冲区(基于指针)的字符串比较在 python 3 中进行排序?

python - Ansible:从字符串构建 Mac 地址