我需要知道“映射”虚拟内存并将二进制代码加载到其中并执行二进制代码的可行性。二进制代码(以共享库的形式呈现)可以是 mach 格式或 elf 格式,这些二进制代码将通过我们的二进制加载器(而不是苹果自己的 unix 二进制加载器)通过文件映射方式加载到内存中。
有人尝试过吗?如果您对此有任何线索,请告诉我,我们可以进一步讨论。 顺便问一下,有谁知道如何将共享库(不是通过应用程序链接)上传到iPhone模拟器或与iPhone应用程序一起开发的设备吗?
您可以在 iPhone 上使用
mmap()
。 iOS SDK 协议通常反对动态代码加载,因此您可能不被允许使用它来提供应用程序发布时不可用的代码。你会想和苹果谈谈这个问题,但我很有信心预测你想做的事情不会被允许。
考虑一下您提供自己的代码加载器的原因是否真实,或者您是否真的可以不用使用 iOS
dyld
。