我想在特定地址的Linux进程中分配内存。 其实我想这样做: 我会有一些进程。每个进程都会调用库中的一个初始化函数(由我编写),它将在进程的地址空间中分配一些内存(它将存储进程相关的信息)。这将通过每个进程完成在Linux中分配特定地址
一旦分配了这个内存,后面的程序将调用库中的其他函数。现在这些函数想要通过第一个函数访问分配的内存(包含与进程有关的信息)。
问题是我不能在库中的进程地址空间中存储分配的内存地址(即使在静态指针中也没有,因为有多少进程),我甚至不希望用户程序存储该地址。我只是不希望用户程序知道在地址空间中有由库分配的内存。库函数将为他们抽象,他们必须使用它们。
是否有可能超过这个问题。 我在想,当任何进程调用分配内存的库的初始化函数时,内存总是在所有进程中被分配到相同的地址(比如说10000),而不管其他所有事情。
所以这其中要访问内存中的所有库函数可以很容易地做到: char *p=10000;
,然后访问,这将是进入到这被称为库函数的进程的地址空间。
这个问题有点含糊。你有特定的用例吗? – 2011-04-06 18:20:47
为什么图书馆不能跟踪分配?例如,在一个动态列表中。 – jwd 2011-04-06 18:40:06