根据ASLR(Address Space Layout Randomization),它在每次进程启动时提供随机的堆栈和堆分配以及页面加载,并将对象放置在给定进程的虚拟空间中的地址随机化。但是在我的ios上运行的应用程序中,我创建了一个名为ObjectA的对象,在多次重新加载该进程后,我发现ObjectA的地址都是相同的,没有随机化。
苹果自己的ASLR实现是如何工作的?
我目前正在尝试弄清楚Android Native堆是如何工作的:我通过new在堆上分配一些内存,然后打印指针的地址以查看内存分配的位置。然而,内存分配的地址似乎并不遵循一个简单的模式,例如,当我尝试时:int *pInt2 = new int ();int *pInt4 = new int ();int *pInt6 = new int ();
int *pInt7