在可执行文件之间交换数据

时间:2014-03-28 16:51:46

标签: c++ memory ram

我有两个C ++程序P1和P2(每个程序都生成一个可执行文件)。 P1将字符串保存在文件中,P2加载字符串并使用它。此过程仅用于在这两个单独的程序之间交换数据。

是否可以将字符串保存在RAM中的某处,以便硬盘不会被占用?

1 个答案:

答案 0 :(得分:1)

  

是否可以将字符串保存在RAM中的某处,这样就可以了   硬盘不会被使用?

是的,您可以使用一些进程间通信方法之一。选择包括

  • 套接字
  • 内存映射文件
  • 共享内存

Here是通过调用mmap来使用映射到RAM的文件的示例。

  

映射到RAM的文件,可以通过更改内存地址进行修改   直接而不是输出到流,分享相同的好处   标准文件。

读取和写入内存映射文件可以避免在使用read()或write()系统调用时发生的无关副本,其中数据必须复制到用户空间缓冲区和从用户空间缓冲区复制。

tutorial