C语言和共享内存

时间:2014-05-31 10:37:55

标签: c shared-memory

如何将内存段指针复制文件类型指针数据。 像这样

ptr是一个附加到我们创建的内存段的指针。并且fp是文件指针。使用fp=fopen("file name",w+(mode));。我必须在fp内写一些东西。

fprintf(fp,"hello vishnu");

通过使用共享内存,我想发送此服务器端。

怎么可能这样做?如何在服务器端获取此数据?

2 个答案:

答案 0 :(得分:0)

要在进程之间共享内存,可以使用File Mapping

答案 1 :(得分:0)

您可以使用pipeAF_UNIX套接字。

有效地为您提供具有文件描述符访问权限的共享内存段。您可以使用fdopen将该文件描述符连接到所需的FILE*

不同之处在于pipe创建了一个匿名管道,并在一个进程中为每个端口提供了一个文件描述符。对IPC使用它的唯一(简单)方法是在父进程中执行它,然后fork / exec子进程,以便它继承管道的一端。

AF_UNIX套接字由文件系统命名,因此两个独立进程可以使用已知路径名进行连接。

请注意,这两者仅与实现细节有关的共享内存:您无法直接访问共享内存段,而是依赖操作系统。