2

所以,我在学习 C 的第一个小时。也许我今晚会跳到 C++。

我想使用 C 创建两个可以相互“对话”的命令行程序。想到的第一个想法是通过写入和轮询文件在两者之间传输信息。但是,我认为 C 提供了直接分配和访问内存所需的所有方法,这将是一种更快、更明智的技术。

有人可以提供一个例子或建议吗?

4

4 回答 4

6

您要求的是共享内存。不幸的是,共享内存本身并不是C 语言的一部分,而是操作系统的一个特性。由于您没有指定您使用的操作系统,我将您指向一个Unix SysV 共享内存教程

于 2010-12-03T23:25:49.493 回答
3

我相信您指的是共享内存段。您还可以使用管道或套接字在两个进程之间进行通信。根据应用的不同,每个都有其优势。

这是关于进程间通信的一个很好的指南,它涵盖了除了管道、套接字之外的主题。

http://beej.us/guide/bgipc/output/html/multipage/index.html

于 2010-12-03T23:25:26.540 回答
3

您需要研究的技术是“共享内存”。它是特定于操作系统的,而不是在 C 标准库中。

由于您没有指定操作系统,因此您必须自己进行一些研究。如果您使用的是 Windows,请查看此页面

于 2010-12-03T23:26:17.723 回答
0

If you are in a unix environment you can use shmget() and shmat() to create and attach a shared memory segment. Both process assess the segment via a common integer key.

于 2010-12-03T23:28:56.557 回答