0

我正在做一个项目,该项目需要我在运行时确定的内存地址处将一些数据加载到内存中,然后将 ELF 二进制文件加载到相同的地址空间中。我知道我可以将 ELF 编译为与位置无关,但是如何分配我的内存块,然后加载并运行二进制文件而不覆盖内存块或移动到不同的地址空间?

4

2 回答 2

1

Exec 替换了整个内存空间,我认为您对此无能为力。但也许您可以使用共享内存在新旧进程之间共享数据?

于 2012-10-28T12:29:00.177 回答
1

您可以将 ELF 二进制文件编译为共享库,然后将其动态链接到您的原始进程吗?动态链接器应该尊重现有的 malloc/mmap 内存分配,而不是踩到它们。

于 2012-10-29T00:27:37.413 回答