在进程间写入malloced内存

在进程间写入malloced内存

问题描述:

假设我在一台机器上启动了程序。每个程序首先会把一块内存malloc。我想知道如何让其他进程知道一个进程的malloced地址,以便他们可以使用mmap来编写其他进程的mableced内存?在进程间写入malloced内存

+2

哪个操作系统?在Linux下,每个进程都有自己的地址空间,因此不能在不同进程之间共享通过malloc()获取的指针。我看到以下选项:(1)在多个进程中使用共享内存或(2)在同一进程中使用多线程的malloc()。 – mauro

+0

Windows在这方面是相同的。 –

+0

@mauro感谢您的建议。这正是我需要的。我想我会用'shmget'来做到这一点。 – HuangJie

注释表明共享内存,适用于单独的进程,但编写多线程程序可能更适合。 pthreads(7)malloc'ed内存可以直接由每个线程访问,并且有一套丰富的并发控制功能。