在 C 中使用 LinkedList 共享内存

Shared memory in C with LinkedList

我要用C开发一个mini-shell,在这个项目中我们要处理局部变量和环境变量。所以我们可以有两个共享环境变量的进程,在 child 中创建的变量可以在父进程中看到,并且相反。

我的老师说: 环境变量存储在共享内存区域中,该内存区域由运行的 shell 的第一个副本创建,并使用 envp 数组中定义的所有变量进行初始化。在任何给定时间运行的 shell 的最后一个副本必须销毁那个 space。这个共享内存区域要被细分为一个内存来管理。共享内存区域是一个并发访问内存区域,在给定时间可以同时进行多次读取,但只能进行 1 次写入。实现必须优先写。

所以我们需要与链表共享内存,其中包含:

但是我们创建的环境变量在父环境变量中却没有child。

所以我觉得这个方法不对,请问怎么表示这个问题呢?

也许不用链表?

谢谢。

TF。

我明白了! 我的老师让我创建一个固定大小的共享内存 space!现在很简单。

谢谢大家。