在可执行文件之间交换数据
Exchanging data between executables
我有两个c++程序P1和P2(每个程序生成一个可执行文件)。P1将字符串保存在文件中,P2加载并使用该字符串。这个过程只是为了在这两个独立的程序之间交换数据。
是否有可能将字符串保存在RAM中的某个地方,以便硬盘不会被占用?
是否有可能将字符串保存在RAM中的某个地方,以便硬盘没有被占用?
是的,您可以使用少数进程间通信方法之一。选项包括
- 套接字
- 内存映射文件 共享内存管道
下面是一个使用文件映射到RAM并调用mmap
的示例。
映射到RAM的文件,可以通过改变内存地址来修改直接而不是输出到流,与标准文件。
读取和写入内存映射文件避免了在使用read()或write()系统调用时发生的不必要的复制,其中必须将数据复制到用户空间缓冲区。
教程相关文章:
- 如何将 std::vector 索引交换到<int>数据,将数据交换到索引
- 在UNIX中通过recv/send交换数据时,如何正确使用缓冲区
- 数据交换在CPropertyPage中完成::OnOK?
- TCP 连接中的超时,没有数据交换
- 如何将 Matlab 与 Visual Studio 连接以进行实时数据交换?
- 根据 C++ 中的特定数据交换这些对象
- (De/)序列化作为C++中基于文件的数据交换的接口
- 矢量和指针队列数据交换:深层和浅层副本
- 数据交换的设计模式
- 类 COpenGLControl 的两个实例之间的动态数据交换
- MATLAB和C++之间最有效的数据交换方式
- C++应用程序(Sci)Python之间的数据交换
- 如何使用c++网络编程进行数据交换
- std::带有数据交换的矢量指针
- MPI进程之间的数据交换(halo)
- 使用PHP和c++进行数据交换
- MFC数据交换验证
- linux上c++线程间的线程安全数据交换/共享内存
- 使用wininet与服务器进行数据交换
- 2 个本地服务器(C++上的逻辑服务器和用于网页的 Web 服务器)数据交换.如何