百科问答小站 logo
百科问答小站 font logo



win和ubuntu的内存管理有什么不一样? 第1页

  

user avatar   _______ 网友的相关建议: 
      

关键字:ASLR


user avatar   bei-ji-85 网友的相关建议: 
      

1. 两个平台必然都用虚地址,不要看到低地址就以为一定是物理地址。

2. 两边结果不一样,因为你win平台编译出来的应该是32位的,地址必然小于4G,而Ubuntu那边gcc可能是64位的,所以才输出一个很大的地址,你换32位Ubuntu(不知道还能不能找到),肯定输出就不一样了。

3. 没有规范约定不同操作系统在分配栈上数据的时候一定要放在某个位置,实际上放哪都行,如果操作系统允许,放NULL上也没事。

----------------------------

原来题主问的是为什么Ubuntu两次栈上数据不同,看这里:

ASLR/DEP绕过技术概览(学习)

Win7下打开DEP:




  

相关话题

  有无可能基于某一版安卓,独立于谷歌开发升级系统,经过几代迭代后,最终和安卓发展成两个相对独立的系统? 
  为什么每款 ARM 电脑都需要专门为它编译的内核,而 x86 的可以通用? 
  Fuchsia OS可以从Cast OS保留数据升级,是否说明Fuchsia只是Linux套壳? 
  【内存寻址】请问每个进程的线性空间是独立的吗还是系统中所有的进程共享一个线性空间? 
  为什么一般操作系统中应用程序的栈空间都要设最大值,不支持动态扩展? 
  如何看待开源中国中一片唱衰鸿蒙 OS? 
  Linux 内核中,多线程栈空间模型是怎样的? 
  为什么atomic比mutex性能更高? 
  未来桌面操作系统的发展趋势是什么? 
  操作系统中到底是谁分配的资源? 

前一个讨论
青藏铁路西格段经历过哪些提速改造?现在的限速是多少?西格段在近期(五年内)能够开行和谐号动车组列车吗?
下一个讨论
如何看待公众号《“高铁之父刘志军”——美日操纵的伪爱国舆论》?





© 2025-01-13 - tinynew.org. All Rights Reserved.
© 2025-01-13 - tinynew.org. 保留所有权利