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

Pass Data from One .exe to Another

本文关键字:exe 另一个 一个 数据      更新时间:2023-10-16

我对C 的经验不足,但是我需要构建一个框架以将某些数据调整。不一定是相关的,但是我的数据的一般流道需要像这样:

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

步骤3.是我遇到麻烦的地方。我将如何以可以访问C Python扩展中看到的数据的方式调用包含CUDA代码的.EXE?我认为我应该能够以某种方式通过指针,但是我很难找到解释方法的资源。我已经看到了创建共享内存的引用,但是我也不清楚那里的详细信息。

有许多可执行文件可以交换数据的方式。

一些示例:

  • 从共享文件中写入/读取数据(不要忘记锁定,这样他们就不会偶然发现彼此)。

  • 在过程之间使用TCP或UDP插座来交换数据。

  • 使用共享内存。

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

  • 使用过程之间的管道。

  • 在过程之间使用Unix域插座。

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

您需要研究的是IPC(过程间通信)。