如果一个EXE大于4G,那进程虚拟空间是怎么分配的

解决方案 »

  1.   

    虽然wow有20多G,但不是所有资源都加载到内存中,进本啥的都不得读条么。
      

  2.   

    那我就不明白lz说的4g的exe 是什么意思了!
      

  3.   

    抱歉,没仔细看。
    EXE的大小跟虚拟内存是没啥关系的。
    虚拟内存虽然有4G,但去掉内核的2G,其实只有2G,开了PAE,应用层会有3G的空间。但还要受物理页面工作集的影响,其实同时进程能拥有的物理页面,远远小于2G。
    EXE中的代码,资源,是需要使用的时候才会映射。
      

  4.   

    按我的理解,双击可执行文件,操作系统会启动pe load,创建进程,将exe文件映像写入刚创建的进程,
    如果exe大于4g,是写不进32位系统进程的
      

  5.   

    如果需要的时候才映射,如何解释文件大小不同的exe启动时加载时间不同?
      

  6.   

    我真没玩过这个游戏。
    它不会是整个exe文件20g吧。分成多个dll就不是主贴问题了。
      

  7.   

    exe是都加载到内存才会执行。32位下必然出错啊。
    wow的 dll + exe 还不到50M。剩下的都是资源文件,资源文件就由程序控制加载多少,保证同时加载的不超过2G的内存(实际上会保证1G以下)就没问题了。 
      

  8.   

    wow的 dll + exe 还不到50M重点就是这句 lz专牛角了