alt text http://www.freeimagehosting.net/uploads/67f98ad782.png
此图片显示了我应用的地址空间中的碎片。有没有办法强制(第三方)dll图像(紫色)一起消除(或减轻)碎片?
这个应用程序将在32位XP上运行;显然,当我们最终迁移到64位Windows 7时,这个问题就会消失。
谢谢!
答案 0 :(得分:4)
是的,您可以重新定义.NET程序集,但效果相当有限,因为JIT编译的代码将放在代码堆上,并且不受重新定位的影响。另外,从Vista and forward the image loader randomizes loading来防止某种类型的攻击,所以即使你重新组装程序集也会在随机地址加载。