我想在特定地址的进程中分配 Linux 中的内存。实际上我想做一些类似的事情:我将有一些过程。每个进程都会调用库(由我编写)中的初始化函数,该函数将在进程的地址空间中分配一些内存(将存储进程相关信息)。这将由每个进程完成
一旦分配了该内存,稍后程序将调用库中的其他函数。现在这些函数想访问第一个函数分配的内存(包含进程相关信息)。
问题是我无法将分配的内存地址存储在库中的进程地址空间中(即使在静态指针中也没有,因为有进程数),我什至不希望用户程序存储该地址。我只是不希望用户程序知道库在其地址空间中分配了内存。库功能将是他们的抽象,他们必须使用它们。
是否有可能克服这个问题。我在想,每当任何进程调用分配内存的库的初始化函数时,内存总是在所有进程中分配到相同的地址(比如 10000),而与所有其他事情无关。
因此,任何想要访问该内存的库函数都可以通过以下方式轻松完成:
char *p=10000;
然后访问,就是访问调用库函数的进程的地址空间。